@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
MV
---------------------------------------------------------------------------------------------------------------------
*/
#mv {
  padding: 80px 0 5%;
  position: relative; }
  @media (min-width: 1024px) {
    #mv {
      padding: 100px 0 5%; } }
  @media (min-width: 1250px) {
    #mv {
      padding: 70px 0 5%; } }
  #mv .main-copy-sp {
    padding-left: 5%; }
    @media (min-width: 1024px) {
      #mv .main-copy-sp {
        display: none; } }
    #mv .main-copy-sp h1 {
      font-size: 2.0em;
      font-feature-settings: "palt";
      letter-spacing: 0.05em;
      line-height: 1.5em;
      color: #000; }
      @media (min-width: 768px) {
        #mv .main-copy-sp h1 {
          font-size: 3.4em;
          letter-spacing: 0.1em; } }
      #mv .main-copy-sp h1 .marker {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 18%, #fff 18%, #fff 90%, rgba(0, 0, 0, 0) 90%, rgba(0, 0, 0, 0) 100%); }
  #mv .mv-in {
    max-width: 1600px;
    margin: 20px auto 0; }
    @media (min-width: 1024px) {
      #mv .mv-in {
        display: flex;
        width: 90%; } }
    #mv .mv-in .txt-area {
      width: 90%;
      margin: auto; }
      @media (min-width: 1024px) {
        #mv .mv-in .txt-area {
          width: 35%;
          display: flex;
          align-items: center; } }
      #mv .mv-in .txt-area .txt-in .main-copy-pc {
        display: none; }
        @media (min-width: 1024px) {
          #mv .mv-in .txt-area .txt-in .main-copy-pc {
            display: block; } }
        #mv .mv-in .txt-area .txt-in .main-copy-pc h1 {
          font-size: 5.2vw;
          color: #000;
          line-height: 1.1em; }
          @media (min-width: 1700px) {
            #mv .mv-in .txt-area .txt-in .main-copy-pc h1 {
              font-size: 5.6em; } }
          #mv .mv-in .txt-area .txt-in .main-copy-pc h1:nth-child(n+3) {
            line-height: 1.2em; }
          #mv .mv-in .txt-area .txt-in .main-copy-pc h1 .marker {
            background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 18%, #fff 18%, #fff 90%, rgba(0, 0, 0, 0) 90%, rgba(0, 0, 0, 0) 100%); }
      #mv .mv-in .txt-area .txt-in p {
        font-size: 1.0em;
        line-height: 1.8em;
        text-align: justify;
        color: #000;
        margin-top: -10px; }
        @media (min-width: 1024px) {
          #mv .mv-in .txt-area .txt-in p {
            font-size: 1.25em;
            margin-top: 30px; } }
    #mv .mv-in .people {
      position: relative;
      margin: auto; }
      @media (min-width: 1024px) {
        #mv .mv-in .people {
          width: 65%; } }
      #mv .mv-in .people ul {
        width: 98%;
        margin: auto;
        position: relative; }
        @media (min-width: 768px) {
          #mv .mv-in .people ul {
            width: 80%; } }
        @media (min-width: 1024px) {
          #mv .mv-in .people ul {
            width: 100%; } }
        #mv .mv-in .people ul li:nth-child(n+2) {
          position: absolute;
          top: 0;
          left: 0; }
      #mv .mv-in .people .obi-sp {
        position: relative;
        bottom: 25px;
        z-index: -1; }
        @media (min-width: 1024px) {
          #mv .mv-in .people .obi-sp {
            display: none; } }
        #mv .mv-in .people .obi-sp p {
          font-size: 0.7em;
          color: #000;
          padding: 0 5%;
          margin: 10px 0 0 0; }
          @media (min-width: 768px) {
            #mv .mv-in .people .obi-sp p {
              font-size: 0.8em;
              text-align: right; } }
  #mv .obi {
    position: absolute;
    bottom: 0;
    width: 100%;
    z-index: -1;
    display: none; }
    @media (min-width: 1024px) {
      #mv .obi {
        display: block;
        bottom: -8%; } }
    @media (min-width: 1250px) {
      #mv .obi {
        display: block;
        bottom: -4%; } }
    #mv .obi p {
      position: absolute;
      bottom: 0;
      right: 2.5%;
      font-size: 0.9em;
      color: #000; }

/*
---------------------------------------------------------------------------------------------------------------------
はじめに
---------------------------------------------------------------------------------------------------------------------
*/
#prologue {
  padding-top: 40px; }
  @media (min-width: 768px) {
    #prologue {
      display: flex;
      padding-top: 40px; } }
  @media (min-width: 1024px) {
    #prologue {
      padding-top: 160px; } }
  #prologue .prologue-txt {
    padding-left: 5%; }
    @media (min-width: 768px) {
      #prologue .prologue-txt {
        width: 50%;
        display: flex;
        align-items: center; } }
    @media (min-width: 1024px) {
      #prologue .prologue-txt {
        width: 45%; } }
  #prologue .txt-area {
    display: flex; }
    #prologue .txt-area .txt p {
      margin-top: 20px; }
  #prologue .prologue-photo {
    padding-left: 5%;
    margin-top: 20px; }
    @media (min-width: 768px) {
      #prologue .prologue-photo {
        width: 50%;
        padding: 0;
        margin-top: 0; } }
    @media (min-width: 1024px) {
      #prologue .prologue-photo {
        width: 55%; } }
    #prologue .prologue-photo img {
      border-top-left-radius: 500px;
      border-bottom-left-radius: 500px; }

.txt-area {
  display: flex; }
  .txt-area .midashi {
    width: 40px; }
    .txt-area .midashi h3 {
      font-size: 1.0em;
      color: #00740D;
      writing-mode: vertical-rl; }
      @media (min-width: 768px) {
        .txt-area .midashi h3 {
          font-size: 1.125em; } }
      @media (min-width: 1250px) {
        .txt-area .midashi h3 {
          font-size: 1.25em; } }
  .txt-area .txt {
    width: calc(100% - 40px); }
    .txt-area .txt h2 {
      font-size: 7.4vw;
      line-height: 1.4em;
      margin-top: -0.25em; }
      @media (min-width: 768px) {
        .txt-area .txt h2 {
          font-size: 3.4vw;
          margin-top: -0.3em; } }
      @media (min-width: 1024px) {
        .txt-area .txt h2 {
          font-size: 3.2vw; } }
    .txt-area .txt p {
      font-size: 0.9em;
      font-weight: bold;
      line-height: 1.8em;
      font-feature-settings: "palt";
      letter-spacing: 0.04em;
      text-align: justify;
      margin-top: -0.25em; }
      @media (min-width: 1024px) {
        .txt-area .txt p {
          font-size: 1.0em; } }
      @media (min-width: 1350px) {
        .txt-area .txt p {
          font-size: 1.375em; } }

.en-midashi {
  font-family: "Dela Gothic One", sans-serif;
  font-style: normal;
  font-size: 8.0vw;
  line-height: 0.9em;
  color: #fff; }
  .en-midashi h2 {
    line-height: 1.0em; }

/*
---------------------------------------------------------------------------------------------------------------------
ごあいさつ
---------------------------------------------------------------------------------------------------------------------
*/
#greeting {
  padding-top: 60px;
  position: relative; }
  #greeting .greeting-in {
    max-width: 1600px;
    margin: auto; }
    @media (min-width: 768px) {
      #greeting .greeting-in {
        display: flex; } }
    #greeting .greeting-in .greeting-L {
      position: relative;
      margin-top: -5%; }
      @media (min-width: 768px) {
        #greeting .greeting-in .greeting-L {
          width: 40%; } }
      @media (min-width: 1250px) {
        #greeting .greeting-in .greeting-L {
          width: 50%; } }
      #greeting .greeting-in .greeting-L img {
        width: 60%;
        margin-left: 30%; }
        @media (min-width: 768px) {
          #greeting .greeting-in .greeting-L img {
            width: 100%;
            margin-left: 0;
            padding-left: 5%; } }
      #greeting .greeting-in .greeting-L .profile-txt {
        position: absolute;
        bottom: 15%;
        left: 0;
        background-color: #fff;
        padding: 20px 40px 20px 20px;
        border-top-right-radius: 100px;
        border-bottom-right-radius: 100px; }
        @media (min-width: 1024px) {
          #greeting .greeting-in .greeting-L .profile-txt {
            bottom: 25%;
            padding: 30px 60px 30px 30px; } }
        @media (min-width: 1250px) {
          #greeting .greeting-in .greeting-L .profile-txt {
            padding: 40px 80px 40px 40px; } }
        #greeting .greeting-in .greeting-L .profile-txt h3 {
          font-size: 0.9em;
          line-height: 1.4em; }
          @media (min-width: 1024px) {
            #greeting .greeting-in .greeting-L .profile-txt h3 {
              font-size: 1.125em; } }
          @media (min-width: 1250px) {
            #greeting .greeting-in .greeting-L .profile-txt h3 {
              font-size: 1.3em; } }
        #greeting .greeting-in .greeting-L .profile-txt .name {
          display: flex;
          margin-top: 10px; }
          #greeting .greeting-in .greeting-L .profile-txt .name h4 {
            font-size: 1.4em; }
            @media (min-width: 1024px) {
              #greeting .greeting-in .greeting-L .profile-txt .name h4 {
                font-size: 1.8em; } }
            @media (min-width: 1250px) {
              #greeting .greeting-in .greeting-L .profile-txt .name h4 {
                font-size: 2.25em; } }
          #greeting .greeting-in .greeting-L .profile-txt .name h5 {
            font-size: 0.6em;
            margin: 13px 0 0 5px; }
            @media (min-width: 1024px) {
              #greeting .greeting-in .greeting-L .profile-txt .name h5 {
                font-size: 0.8em;
                margin: 18px 0 0 10px; } }
            @media (min-width: 1250px) {
              #greeting .greeting-in .greeting-L .profile-txt .name h5 {
                font-size: 0.9em;
                margin: 23px 0 0 10px; } }
    #greeting .greeting-in .txt-area {
      width: 90%;
      margin: auto; }
      @media (min-width: 768px) {
        #greeting .greeting-in .txt-area {
          width: 60%;
          padding: 0 5% 0 0;
          display: flex;
          align-items: center;
          margin-top: 2%; } }
      @media (min-width: 1250px) {
        #greeting .greeting-in .txt-area {
          width: 50%;
          margin-top: 5%;
          padding: 0 5%; } }
      #greeting .greeting-in .txt-area .txt-area-in {
        display: flex; }
        #greeting .greeting-in .txt-area .txt-area-in .txt .common-btn {
          margin-top: 40px; }
          #greeting .greeting-in .txt-area .txt-area-in .txt .common-btn a .btn-in svg {
            transform: rotate(90deg); }

/*
---------------------------------------------------------------------------------------------------------------------
最新のくどうのつぶやき
---------------------------------------------------------------------------------------------------------------------
*/
#tweet {
  max-width: 1600px;
  margin: 40px auto 0;
  width: 90%;
  position: relative; }
  @media (min-width: 1024px) {
    #tweet {
      margin: -8% auto 0; } }
  #tweet .tweet-in {
    display: flex; }
    #tweet .tweet-in .title {
      width: 30px;
      position: relative;
      left: -1%; }
      @media (min-width: 1024px) {
        #tweet .tweet-in .title {
          width: 40px; } }
      #tweet .tweet-in .title h2 {
        font-size: 1.25em;
        writing-mode: vertical-rl; }
        @media (min-width: 1024px) {
          #tweet .tweet-in .title h2 {
            font-size: 1.6em; } }
        @media (min-width: 1250px) {
          #tweet .tweet-in .title h2 {
            font-size: 2.0em; } }
    #tweet .tweet-in .tweet-post {
      width: calc(100% - 30px); }
      @media (min-width: 1024px) {
        #tweet .tweet-in .tweet-post {
          width: calc(100% - 40px);
          display: flex; } }
      #tweet .tweet-in .tweet-post h4 {
        font-size: 0.7em;
        font-weight: normal;
        color: #C1C1C1;
        margin-top: 5px; }
        @media (min-width: 1024px) {
          #tweet .tweet-in .tweet-post h4 {
            font-size: 0.9em; } }
      @media (min-width: 1024px) {
        #tweet .tweet-in .tweet-post .new {
          width: 60%;
          padding-right: 20px; } }
      #tweet .tweet-in .tweet-post .new a:hover .new-box {
        background-color: #000;
        color: #fff; }
      #tweet .tweet-in .tweet-post .new a .new-box {
        background-color: #fff;
        height: 100%;
        border-radius: 15px;
        border: 2px solid #000;
        display: flex;
        transition: .5s; }
        @media (min-width: 1024px) {
          #tweet .tweet-in .tweet-post .new a .new-box {
            border-radius: 20px;
            border: 3px solid #000;
            padding: 20px;
            align-items: center;
            justify-content: center; } }
        #tweet .tweet-in .tweet-post .new a .new-box .new-box-in {
          padding: 15px 10px 15px 15px; }
          @media (min-width: 1024px) {
            #tweet .tweet-in .tweet-post .new a .new-box .new-box-in {
              padding: 0 5%; } }
          #tweet .tweet-in .tweet-post .new a .new-box .new-box-in h3 {
            font-size: 1.25em;
            line-height: 1.4em; }
            @media (min-width: 768px) {
              #tweet .tweet-in .tweet-post .new a .new-box .new-box-in h3 {
                font-size: 1.4em; } }
            @media (min-width: 1024px) {
              #tweet .tweet-in .tweet-post .new a .new-box .new-box-in h3 {
                font-size: 2.5em; } }
            @media (min-width: 1250px) {
              #tweet .tweet-in .tweet-post .new a .new-box .new-box-in h3 {
                font-size: 3.5em; } }
      #tweet .tweet-in .tweet-post .from-second {
        margin-top: 10px; }
        @media (min-width: 1024px) {
          #tweet .tweet-in .tweet-post .from-second {
            width: 40%;
            margin-top: 0; } }
        #tweet .tweet-in .tweet-post .from-second .txt-box {
          margin-bottom: 10px; }
          @media (min-width: 1024px) {
            #tweet .tweet-in .tweet-post .from-second .txt-box {
              margin-bottom: 20px; } }
          #tweet .tweet-in .tweet-post .from-second .txt-box:last-child {
            margin-bottom: 0; }
          #tweet .tweet-in .tweet-post .from-second .txt-box a:hover .txt-box-in {
            background-color: #000;
            color: #fff; }
          #tweet .tweet-in .tweet-post .from-second .txt-box a .txt-box-in {
            background-color: #fff;
            border-radius: 15px;
            border: 2px solid #000;
            padding: 10px 10px 10px 15px;
            transition: .5s; }
            @media (min-width: 1024px) {
              #tweet .tweet-in .tweet-post .from-second .txt-box a .txt-box-in {
                border-radius: 10px;
                border: 3px solid #000;
                padding: 15px 10px 15px 15px; } }
            @media (min-width: 1250px) {
              #tweet .tweet-in .tweet-post .from-second .txt-box a .txt-box-in {
                border-radius: 15px;
                padding: 30px 10px 30px 30px; } }
            #tweet .tweet-in .tweet-post .from-second .txt-box a .txt-box-in h3 {
              font-size: 1.0em;
              line-height: 1.4em;
              word-break: break-all;
              display: -webkit-box;
              -webkit-line-clamp: 2;
              -webkit-box-orient: vertical;
              overflow: hidden; }
              @media (min-width: 1024px) {
                #tweet .tweet-in .tweet-post .from-second .txt-box a .txt-box-in h3 {
                  font-size: 1.25em; } }
              @media (min-width: 1250px) {
                #tweet .tweet-in .tweet-post .from-second .txt-box a .txt-box-in h3 {
                  font-size: 1.6em; } }
  #tweet .btn {
    margin: 20px 0 0 auto;
    display: flex;
    justify-content: center; }
    @media (min-width: 1024px) {
      #tweet .btn {
        justify-content: flex-end; } }

.common-title h3 {
  font-size: 1.0em;
  color: #00740D;
  margin-bottom: 5px; }
  @media (min-width: 768px) {
    .common-title h3 {
      font-size: 1.25em; } }
.common-title h2 {
  font-size: 1.6em;
  line-height: 1.1em; }
  @media (min-width: 768px) {
    .common-title h2 {
      font-size: 2.0em; } }
  @media (min-width: 1024px) {
    .common-title h2 {
      font-size: 2.5em; } }
  @media (min-width: 1250px) {
    .common-title h2 {
      font-size: 3.0em; } }
.common-title p {
  font-size: 0.9em;
  line-height: 1.6em;
  margin-top: 0px; }
  @media (min-width: 768px) {
    .common-title p {
      font-size: 1.0em;
      margin-top: 5px; } }
  @media (min-width: 1024px) {
    .common-title p {
      font-size: 1.125em;
      margin-top: 10px; } }

/*
---------------------------------------------------------------------------------------------------------------------
サービス
---------------------------------------------------------------------------------------------------------------------
*/
#service {
  position: relative;
  margin-top: 60px; }
  @media (min-width: 1250px) {
    #service {
      margin-top: 100px; } }
  #service .photo {
    position: absolute;
    top: 5%;
    left: 2%;
    width: 30%; }
    @media (min-width: 1024px) {
      #service .photo {
        top: 0;
        left: 10%; } }
    @media (min-width: 1250px) {
      #service .photo {
        width: 26%; } }
  #service .service-in {
    max-width: 1600px;
    margin: auto;
    width: 90%; }
    #service .service-in .common-title {
      display: flex;
      justify-content: flex-end;
      width: 80%;
      margin-left: 20%;
      padding: 10px 0 10px 10px; }
    #service .service-in .service-contact {
      margin-top: 10px; }
      @media (min-width: 1024px) {
        #service .service-in .service-contact {
          margin-top: 80px; } }
      @media only screen and (min-width: 1250px) {
        #service .service-in .service-contact .o-4column .col-lg-4 {
          padding: 0 10px; }
        #service .service-in .service-contact .o-4column {
          margin: 0 -10px; } }
      #service .service-in .service-contact .service-box {
        width: 100%;
        margin-bottom: 10px; }
        @media (min-width: 1250px) {
          #service .service-in .service-contact .service-box {
            margin-bottom: 0; } }
        #service .service-in .service-contact .service-box a:hover .service-box-in {
          background-color: #000; }
        #service .service-in .service-contact .service-box a:hover .service-box-in > .title > h3, #service .service-in .service-contact .service-box a:hover .service-box-in > .title > h4 {
          color: #fff; }
        #service .service-in .service-contact .service-box a:hover .service-box-in > h3 {
          color: #fff; }
        #service .service-in .service-contact .service-box a:hover .service-box-in > p {
          color: #fff; }
        #service .service-in .service-contact .service-box a:hover .service-box-in > svg > .st0 {
          stroke: #000; }
        #service .service-in .service-contact .service-box a:hover .service-box-in > svg > .st1 {
          fill: #76FF00; }
        #service .service-in .service-contact .service-box a .service-box-in {
          background-color: #fff;
          border: 2px solid #000;
          border-radius: 20px;
          padding: 20px;
          position: relative;
          transition: .5s; }
          @media (min-width: 768px) {
            #service .service-in .service-contact .service-box a .service-box-in {
              padding: 20px 30px 40px 30px;
              height: 160px; } }
          @media (min-width: 1024px) {
            #service .service-in .service-contact .service-box a .service-box-in {
              padding: 30px 30px 60px 30px; } }
          @media (min-width: 1250px) {
            #service .service-in .service-contact .service-box a .service-box-in {
              border: 3px solid #000;
              padding: 40px 40px 80px;
              height: inherit; } }
          #service .service-in .service-contact .service-box a .service-box-in .title {
            display: flex; }
            @media (min-width: 768px) {
              #service .service-in .service-contact .service-box a .service-box-in .title {
                display: block; } }
            @media (min-width: 1024px) {
              #service .service-in .service-contact .service-box a .service-box-in .title {
                display: flex; } }
            #service .service-in .service-contact .service-box a .service-box-in .title h4 {
              font-size: 0.8em;
              margin: 7px 0 0 5px;
              transition: .5s; }
              @media (min-width: 768px) {
                #service .service-in .service-contact .service-box a .service-box-in .title h4 {
                  margin: 5px 0 0 0; } }
              @media (min-width: 1024px) {
                #service .service-in .service-contact .service-box a .service-box-in .title h4 {
                  margin: 12px 0 0 10px; } }
              @media (min-width: 1350px) {
                #service .service-in .service-contact .service-box a .service-box-in .title h4 {
                  font-size: 1.0em;
                  margin: 20px 0 0 10px; } }
          #service .service-in .service-contact .service-box a .service-box-in h3 {
            font-size: 1.25em;
            transition: .5s; }
            @media (min-width: 1024px) {
              #service .service-in .service-contact .service-box a .service-box-in h3 {
                font-size: 1.5em; } }
            @media (min-width: 1350px) {
              #service .service-in .service-contact .service-box a .service-box-in h3 {
                font-size: 2.25em; } }
          #service .service-in .service-contact .service-box a .service-box-in p {
            font-size: 0.8em;
            font-feature-settings: "palt";
            letter-spacing: 0.04em;
            margin-top: 20px;
            transition: .5s; }
            @media (min-width: 1024px) {
              #service .service-in .service-contact .service-box a .service-box-in p {
                font-size: 0.9em; } }
            @media (min-width: 1350px) {
              #service .service-in .service-contact .service-box a .service-box-in p {
                font-size: 1.0em; } }
          #service .service-in .service-contact .service-box a .service-box-in svg {
            width: 30px;
            position: absolute;
            right: 15px;
            bottom: 15px;
            transition: .5s; }
            @media (min-width: 1250px) {
              #service .service-in .service-contact .service-box a .service-box-in svg {
                width: 36px; } }
            #service .service-in .service-contact .service-box a .service-box-in svg .st0 {
              fill: none;
              stroke: #76ff00;
              stroke-width: 2px; }
            #service .service-in .service-contact .service-box a .service-box-in svg .st1 {
              fill: #000; }
  #service .btn {
    margin: 20px auto 0;
    text-align: center; }
    @media (min-width: 1024px) {
      #service .btn {
        margin: 40px auto 0; } }

/*
---------------------------------------------------------------------------------------------------------------------
産業医くどうのやりたいことメモ
---------------------------------------------------------------------------------------------------------------------
*/
#want {
  max-width: 1050px;
  margin: auto;
  width: 90%;
  position: relative;
  padding-top: 40px; }
  @media (min-width: 1024px) {
    #want {
      padding-top: 100px; } }
  #want .want-arrow {
    width: 30px;
    margin-left: 20px; }
    @media (min-width: 1024px) {
      #want .want-arrow {
        width: 50px;
        margin-left: 40px; } }
  #want .want-in {
    background-color: #fff;
    border-radius: 20px; }
    @media (min-width: 1024px) {
      #want .want-in {
        border-radius: 40px; } }
    #want .want-in .want-title {
      text-align: center;
      position: relative;
      top: -20px; }
      #want .want-in .want-title img {
        width: 120px; }
        @media (min-width: 1024px) {
          #want .want-in .want-title img {
            width: 220px; } }
      #want .want-in .want-title h2 {
        font-size: 1.5em;
        line-height: 1.4em; }
        @media (min-width: 1024px) {
          #want .want-in .want-title h2 {
            font-size: 2.5em; } }
    #want .want-in .contact {
      padding: 20px; }
      @media (min-width: 768px) {
        #want .want-in .contact {
          display: flex; } }
      @media (min-width: 1024px) {
        #want .want-in .contact {
          padding: 60px 60px 100px; } }
      @media (min-width: 768px) {
        #want .want-in .contact ul.contact-L {
          width: 70%;
          padding-right: 5%; } }
      #want .want-in .contact ul.contact-L li {
        margin-bottom: 40px; }
        #want .want-in .contact ul.contact-L li:last-child {
          margin-bottom: 0; }
        #want .want-in .contact ul.contact-L li h3 {
          font-family: ta-oonishi, sans-serif;
          font-weight: 900;
          font-style: normal;
          font-size: 6.5vw;
          line-height: 1.3em;
          letter-spacing: -0.05em;
          margin-bottom: 10px;
          z-index: 10;
          position: relative; }
          @media (min-width: 768px) {
            #want .want-in .contact ul.contact-L li h3 {
              font-size: 1.6em; } }
          @media (min-width: 1024px) {
            #want .want-in .contact ul.contact-L li h3 {
              font-size: 2.0em; } }
        #want .want-in .contact ul.contact-L li p {
          font-size: 0.85em;
          line-height: 1.8em;
          text-align: justify; }
          @media (min-width: 1024px) {
            #want .want-in .contact ul.contact-L li p {
              font-size: 1.0em; } }
      @media (min-width: 768px) {
        #want .want-in .contact .contact-R {
          width: 30%; } }
      #want .want-in .contact .contact-R .photo {
        position: sticky;
        top: 140px;
        width: 40%;
        margin-left: 60%; }
        @media (min-width: 768px) {
          #want .want-in .contact .contact-R .photo {
            width: 100%;
            margin-left: 0; } }

.marker-animate {
  position: relative;
  display: inline-block; }
  .marker-animate::after {
    content: '';
    position: absolute;
    width: 0;
    transition: width 0.6s ease;
    z-index: -1;
    left: 0; }
  .marker-animate.in-view::after {
    width: 100%;
    bottom: 3px;
    height: 30px;
    background: #76FF00; }
    @media (min-width: 1024px) {
      .marker-animate.in-view::after {
        bottom: 5px;
        height: 32px; } }

/*
---------------------------------------------------------------------------------------------------------------------
自己紹介
---------------------------------------------------------------------------------------------------------------------
*/
#profile {
  padding: 100px 0 0; }
  #profile .profile-photo {
    position: relative; }
    #profile .profile-photo h2 {
      position: absolute;
      bottom: -0.35em;
      left: 0;
      right: 0;
      font-family: "Dela Gothic One", sans-serif;
      font-style: normal;
      font-size: 3.0em;
      color: #76FF00;
      text-align: center; }
      @media (min-width: 1024px) {
        #profile .profile-photo h2 {
          font-size: 6.0em; } }
      @media (min-width: 1250px) {
        #profile .profile-photo h2 {
          font-size: 10.0em; } }
  #profile .profile-in {
    max-width: 1600px;
    margin: auto; }
  #profile .common-title {
    text-align: center;
    margin: 20px auto 0; }
    @media (min-width: 1024px) {
      #profile .common-title {
        margin: 60px auto 0; } }
  #profile .profile-card {
    position: relative;
    overflow: hidden;
    margin: auto;
    padding-top: 20px; }
    @media (min-width: 1024px) {
      #profile .profile-card {
        margin: 40px auto 0;
        width: 90%; } }
    #profile .profile-card .swiper-slide {
      width: 100%; }
      @media (min-width: 1024px) {
        #profile .profile-card .swiper-slide {
          width: 33.333333%; } }
      #profile .profile-card .swiper-slide .profile-box {
        background-color: #fff;
        border-radius: 20px;
        border: 2px solid #000;
        margin: 0 auto 10px;
        padding: 20px;
        width: 90%; }
        @media (min-width: 1024px) {
          #profile .profile-card .swiper-slide .profile-box {
            margin-bottom: 20px;
            width: 100%; } }
        @media (min-width: 1250px) {
          #profile .profile-card .swiper-slide .profile-box {
            margin-bottom: 20px;
            padding: 40px; } }
        #profile .profile-card .swiper-slide .profile-box h3 {
          font-size: 1.4em; }
          @media (min-width: 1024px) {
            #profile .profile-card .swiper-slide .profile-box h3 {
              font-size: 1.8em; } }
        @media (min-width: 1250px) {
          #profile .profile-card .swiper-slide .profile-box.size3 {
            padding: 27.3px; } }
        #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area {
          position: relative;
          margin: 20px 0 0 0; }
          #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap; }
            #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in .timeline li {
              position: relative;
              padding: 0 0 30px 1em; }
              @media (min-width: 1024px) {
                #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in .timeline li {
                  padding: 0 0 44.5px 1em; } }
              #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in .timeline li dl dt {
                font-size: 1.0em; }
                @media (min-width: 768px) {
                  #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in .timeline li dl dt {
                    font-size: 1.125em; } }
              #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in .timeline li dl dd {
                font-size: 0.9em; }
                @media (min-width: 768px) {
                  #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in .timeline li dl dd {
                    font-size: 1.0em; } }
              #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in .timeline li .border-line {
                position: absolute;
                top: 0.5em;
                left: 0.25em;
                width: 2px;
                height: 0;
                background: #000; }
                @media (min-width: 768px) {
                  #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in .timeline li .border-line {
                    top: 0.6em; } }
              #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in .timeline li::after {
                content: '';
                position: absolute;
                top: 0.5em;
                left: 0;
                width: 10px;
                height: 10px;
                background: #000;
                border-radius: 50%; }
                @media (min-width: 768px) {
                  #profile .profile-card .swiper-slide .profile-box.type-flow #flow-area .flow-in .timeline li::after {
                    top: 0.6em; } }
        #profile .profile-card .swiper-slide .profile-box.type-txt ul {
          margin-top: 20px; }
          #profile .profile-card .swiper-slide .profile-box.type-txt ul li {
            position: relative;
            font-size: 0.9em;
            font-feature-settings: "palt";
            letter-spacing: 0.04em;
            margin-bottom: 10px;
            padding-left: 1em; }
            @media (min-width: 1024px) {
              #profile .profile-card .swiper-slide .profile-box.type-txt ul li {
                font-size: 1.0em; } }
            @media (min-width: 1250px) {
              #profile .profile-card .swiper-slide .profile-box.type-txt ul li {
                font-size: 1.125em; } }
            #profile .profile-card .swiper-slide .profile-box.type-txt ul li::before {
              content: "";
              position: absolute;
              top: 6px;
              left: 0;
              width: 10px;
              height: 10px;
              background-color: #000;
              border-radius: 50%; }
              @media (min-width: 1024px) {
                #profile .profile-card .swiper-slide .profile-box.type-txt ul li::before {
                  top: 8px; } }
              @media (min-width: 1250px) {
                #profile .profile-card .swiper-slide .profile-box.type-txt ul li::before {
                  top: 9px;
                  width: 12px;
                  height: 12px; } }
            #profile .profile-card .swiper-slide .profile-box.type-txt ul li:last-child {
              margin-bottom: 0; }
  #profile .swiper-button-prev, #profile .swiper-button-next {
    top: 30px; }
  #profile .swiper-button-prev {
    right: 62px;
    left: inherit; }
  @media (min-width: 1024px) {
    #profile .swiper-button-prev,
    #profile .swiper-button-next {
      display: none; } }

/*
---------------------------------------------------------------------------------------------------------------------
産業医くどうの真面目な話
---------------------------------------------------------------------------------------------------------------------
*/
#talk {
  padding-top: 80px; }
  @media (min-width: 1024px) {
    #talk {
      padding-top: 160px; } }
  @media (min-width: 1250px) {
    #talk {
      padding-top: 200px; } }
  #talk .common-title {
    text-align: center;
    margin: 0 auto 30px; }
    @media (min-width: 1024px) {
      #talk .common-title {
        margin: 0 auto 60px; } }
    #talk .common-title .common-title-in {
      position: relative;
      text-align: left;
      display: inline-block; }
      #talk .common-title .common-title-in img {
        position: absolute;
        bottom: 30px;
        right: 10%;
        width: 120px; }
        @media (min-width: 768px) {
          #talk .common-title .common-title-in img {
            bottom: 40px; } }
        @media (min-width: 1024px) {
          #talk .common-title .common-title-in img {
            bottom: 60px;
            width: 220px; } }
  #talk .talk-photo {
    position: relative;
    max-width: 1200px;
    margin: auto;
    width: 90%;
    text-align: center; }
    #talk .talk-photo img {
      width: 80%;
      border-radius: 10px;
      position: relative;
      z-index: 1; }
      @media (min-width: 768px) {
        #talk .talk-photo img {
          width: 50%; } }
      @media (min-width: 1024px) {
        #talk .talk-photo img {
          border-radius: 20px; } }
    #talk .talk-photo.prologue {
      background: linear-gradient(180deg, #76FF00 0%, #76FF00 50%, #fff 50%, #fff 100%); }
      #talk .talk-photo.prologue::before {
        position: absolute;
        top: 50%;
        left: -0.2px;
        width: 20px;
        height: 20px;
        background-color: #76FF00;
        content: "";
        clip-path: path("M20,0H0v20C0,9,9,0,20,0Z"); }
        @media (min-width: 1024px) {
          #talk .talk-photo.prologue::before {
            width: 40px;
            height: 40px;
            clip-path: path("M40,0H0v40C0,17.91,17.91,0,40,0Z"); } }
      #talk .talk-photo.prologue::after {
        position: absolute;
        top: 50%;
        right: -0.2px;
        width: 20px;
        height: 20px;
        background-color: #76FF00;
        content: "";
        clip-path: path("M0,0c11,0,20,9,20,20V0H0Z"); }
        @media (min-width: 1024px) {
          #talk .talk-photo.prologue::after {
            width: 40px;
            height: 40px;
            clip-path: path("M0,0c22.09,0,40,17.91,40,40V0H0Z"); } }
    #talk .talk-photo.second {
      margin: 30px auto; }
      @media (min-width: 1024px) {
        #talk .talk-photo.second {
          margin: 60px auto; } }
      #talk .talk-photo.second::after {
        position: absolute;
        content: "";
        top: 50%;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #000; }
  #talk .talk-in {
    max-width: 1200px;
    margin: auto;
    width: 90%;
    background-color: #fff;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    padding: 40px 0; }
    @media (min-width: 1024px) {
      #talk .talk-in {
        border-bottom-left-radius: 40px;
        border-bottom-right-radius: 40px;
        padding: 100px 0; } }
    #talk .talk-in .talk-box {
      padding: 0 20px; }
      @media (min-width: 768px) {
        #talk .talk-in .talk-box {
          padding: 0 40px; } }
      @media (min-width: 1024px) {
        #talk .talk-in .talk-box {
          padding: 0 60px; } }
      #talk .talk-in .talk-box h2 {
        font-size: 1.6em; }
        @media (min-width: 1024px) {
          #talk .talk-in .talk-box h2 {
            font-size: 3.0em; } }
      #talk .talk-in .talk-box .talk-txt {
        margin-top: 30px; }
        @media (min-width: 1024px) {
          #talk .talk-in .talk-box .talk-txt {
            margin-top: 60px; } }
        @media (min-width: 1250px) {
          #talk .talk-in .talk-box .talk-txt {
            display: flex; } }
        @media (min-width: 1250px) {
          #talk .talk-in .talk-box .talk-txt .tolk-midashi {
            width: 30%; } }
        #talk .talk-in .talk-box .talk-txt .tolk-midashi .title {
          position: relative;
          display: inline-block;
          padding: 0 18px; }
          #talk .talk-in .talk-box .talk-txt .tolk-midashi .title .line-L {
            border-left: 2px solid #000;
            position: absolute;
            top: 0;
            left: 0;
            height: 100%; }
            #talk .talk-in .talk-box .talk-txt .tolk-midashi .title .line-L::before {
              position: absolute;
              content: "";
              top: 0;
              left: 0;
              width: 10px;
              height: 2px;
              background-color: #000; }
            #talk .talk-in .talk-box .talk-txt .tolk-midashi .title .line-L::after {
              position: absolute;
              content: "";
              bottom: 0;
              left: 0;
              width: 10px;
              height: 2px;
              background-color: #000; }
          #talk .talk-in .talk-box .talk-txt .tolk-midashi .title h3 {
            font-size: 1.4em;
            line-height: 1.6em;
            margin: -5px 0; }
            @media (min-width: 1024px) {
              #talk .talk-in .talk-box .talk-txt .tolk-midashi .title h3 {
                font-size: 1.8em; } }
          #talk .talk-in .talk-box .talk-txt .tolk-midashi .title .line-R {
            border-right: 2px solid #000;
            position: absolute;
            top: 0;
            right: 0;
            height: 100%; }
            #talk .talk-in .talk-box .talk-txt .tolk-midashi .title .line-R::before {
              position: absolute;
              content: "";
              top: 0;
              right: 0;
              width: 10px;
              height: 2px;
              background-color: #000; }
            #talk .talk-in .talk-box .talk-txt .tolk-midashi .title .line-R::after {
              position: absolute;
              content: "";
              bottom: 0;
              right: 0;
              width: 10px;
              height: 2px;
              background-color: #000; }
        #talk .talk-in .talk-box .talk-txt ul {
          margin-top: 20px; }
          @media (min-width: 768px) {
            #talk .talk-in .talk-box .talk-txt ul {
              display: flex; } }
          @media (min-width: 1250px) {
            #talk .talk-in .talk-box .talk-txt ul {
              width: 70%;
              margin-top: -0.4em; } }
          #talk .talk-in .talk-box .talk-txt ul li {
            font-size: 0.9em;
            text-align: justify;
            line-height: 1.8em;
            font-feature-settings: "palt";
            letter-spacing: 0.04em; }
            @media (min-width: 768px) {
              #talk .talk-in .talk-box .talk-txt ul li {
                width: 50%; } }
            @media (min-width: 1024px) {
              #talk .talk-in .talk-box .talk-txt ul li {
                font-size: 1.0em; } }
            @media (min-width: 1250px) {
              #talk .talk-in .talk-box .talk-txt ul li {
                font-size: 1.125em; } }
            #talk .talk-in .talk-box .talk-txt ul li:first-child {
              margin-bottom: 20px; }
              @media (min-width: 768px) {
                #talk .talk-in .talk-box .talk-txt ul li:first-child {
                  padding-right: 10px;
                  margin: 0; } }
              @media (min-width: 1024px) {
                #talk .talk-in .talk-box .talk-txt ul li:first-child {
                  padding-right: 15px; } }
            #talk .talk-in .talk-box .talk-txt ul li:last-child {
              padding-left: 0; }
              @media (min-width: 768px) {
                #talk .talk-in .talk-box .talk-txt ul li:last-child {
                  padding-left: 10px; } }
              @media (min-width: 1024px) {
                #talk .talk-in .talk-box .talk-txt ul li:last-child {
                  padding-left: 15px; } }
    #talk .talk-in .up-line {
      border-top: 1px solid #000;
      width: 90%;
      margin: 50px auto 0; }

/*
---------------------------------------------------------------------------------------------------------------------
よくあるご質問
---------------------------------------------------------------------------------------------------------------------
*/
#q-a {
  max-width: 1000px;
  margin: 0 auto 80px;
  width: 90%;
  padding-top: 80px; }
  @media (min-width: 1024px) {
    #q-a {
      padding-top: 120px;
      margin: 0 auto 120px; } }
  #q-a .common-title {
    text-align: center; }
  #q-a .question {
    margin-top: 30px; }
    @media (min-width: 1024px) {
      #q-a .question {
        margin-top: 60px; } }
    @media only screen and (min-width: 768px) {
      #q-a .question .o-6column .col-lg-6 {
        padding: 0 10px; }
      #q-a .question .o-6column {
        margin: 0 -10px; } }
    @media only screen and (min-width: 1024px) {
      #q-a .question .o-6column .col-lg-6 {
        padding: 0 20px; }
      #q-a .question .o-6column {
        margin: 0 -20px; } }
    #q-a .question .question-box {
      background-color: #fff;
      border-radius: 20px;
      padding: 40px 30px;
      margin-bottom: 20px;
      position: relative; }
      @media (min-width: 1024px) {
        #q-a .question .question-box {
          font-size: 1.0em;
          padding: 40px;
          margin-bottom: 40px; } }
      #q-a .question .question-box h2 {
        font-size: 1.4em;
        line-height: 1.8em; }
        @media (min-width: 1024px) {
          #q-a .question .question-box h2 {
            font-size: 2.0em; } }
      #q-a .question .question-box p {
        font-size: 0.9em;
        line-height: 1.8em;
        text-align: justify;
        margin-top: 20px; }
        @media (min-width: 768px) {
          #q-a .question .question-box p {
            width: 80%;
            margin-top: 40px; } }
        @media (min-width: 1024px) {
          #q-a .question .question-box p {
            font-size: 1.0em; } }
      #q-a .question .question-box.second p {
        width: 100%; }
      #q-a .question .question-box.last {
        position: relative;
        margin-bottom: 0; }
        @media (min-width: 1024px) {
          #q-a .question .question-box.last {
            margin: 0 -8% 0 0; } }
        @media (min-width: 1250px) {
          #q-a .question .question-box.last {
            margin: 0 -20% 0 0; } }
        #q-a .question .question-box.last p {
          width: 90%; }
          @media (min-width: 768px) {
            #q-a .question .question-box.last p {
              width: 80%; } }
      #q-a .question .question-box h6 {
        font-size: 3.0em;
        font-weight: 900;
        line-height: 0.9em;
        color: #76FF00;
        position: absolute; }
        @media (min-width: 768px) {
          #q-a .question .question-box h6 {
            font-size: 4.5em; } }
        @media (min-width: 1024px) {
          #q-a .question .question-box h6 {
            font-size: 6.0em; } }
        #q-a .question .question-box h6.no1 {
          bottom: 3%;
          right: 2%; }
          @media (min-width: 1024px) {
            #q-a .question .question-box h6.no1 {
              bottom: 10%; } }
        #q-a .question .question-box h6.no2 {
          top: 4%;
          right: 2%; }
        #q-a .question .question-box h6.no3 {
          top: 4%;
          right: 2%; }
        #q-a .question .question-box h6.no4 {
          bottom: 10%;
          right: 2%; }

/*
---------------------------------------------------------------------------------------------------------------------
お問い合わせ　コンタクトミー
---------------------------------------------------------------------------------------------------------------------
*/
#contact {
  position: relative;
  max-width: 1600px;
  width: 90%;
  margin: auto;
  overflow: hidden; }
  #contact img {
    border-radius: 10px; }
    @media (min-width: 1024px) {
      #contact img {
        border-radius: 20px; } }
  #contact .loop {
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #76FF00;
    width: 100%;
    white-space: nowrap;
    z-index: 1; }
    #contact .loop ul.loop-area {
      display: flex;
      list-style: none;
      margin: 0;
      padding: 0;
      font-family: "Dela Gothic One", sans-serif;
      font-style: normal;
      font-size: 4em;
      line-height: 0.9em; }
      @media (min-width: 1024px) {
        #contact .loop ul.loop-area {
          font-size: 6.0em; } }
      #contact .loop ul.loop-area li {
        display: inline-block;
        padding-right: 10px; }
  #contact .contact-up {
    position: absolute;
    top: -1em; }
    #contact .contact-up .loop ul.loop-area {
      animation: loop-slide-ue 800s infinite linear 1s both; }
@keyframes loop-slide-ue {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
  #contact .contact-btn {
    position: absolute;
    top: 30%;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center; }
  #contact .contact-down {
    position: absolute;
    bottom: -0.2em; }
    #contact .contact-down .loop ul.loop-area {
      animation: loop-slide-shita 800s infinite linear 1s both; }
@keyframes loop-slide-shita {
  from {
    transform: translateX(-100%); }
  to {
    transform: translateX(0); } }
/*
---------------------------------------------------------------------------------------------------------------------
フロー
---------------------------------------------------------------------------------------------------------------------
*/
#flow {
  padding-top: 80px; }
  @media (min-width: 1024px) {
    #flow {
      padding-top: 120px; } }
  #flow .common-title {
    text-align: center; }
  #flow ul.step {
    max-width: 1000px;
    margin: 30px auto 0;
    width: 90%; }
    @media (min-width: 1024px) {
      #flow ul.step {
        margin: 60px auto 0; } }
    #flow ul.step li {
      background-color: #fff;
      border-radius: 20px;
      padding: 10px 20px 20px;
      margin-bottom: 20px; }
      @media (min-width: 1024px) {
        #flow ul.step li {
          display: flex;
          border-radius: 40px;
          padding: 20px 0;
          margin-bottom: 60px; } }
      #flow ul.step li:last-child {
        margin-bottom: 0; }
      #flow ul.step li .icon {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        border-bottom: 1px solid #000;
        padding-bottom: 10px; }
        @media (min-width: 1024px) {
          #flow ul.step li .icon {
            width: 230px;
            border-right: 1px solid #000;
            border-bottom: none;
            padding-bottom: 0; } }
        #flow ul.step li .icon .icon-in {
          display: flex;
          align-items: center; }
          @media (min-width: 1024px) {
            #flow ul.step li .icon .icon-in {
              display: block; } }
          #flow ul.step li .icon .icon-in img {
            width: 75px;
            margin: 6px 10px 0 0; }
            @media (min-width: 1024px) {
              #flow ul.step li .icon .icon-in img {
                margin: 0; } }
          #flow ul.step li .icon .icon-in .step-txt {
            display: flex;
            align-items: center;
            font-family: "Dela Gothic One", sans-serif;
            font-style: normal;
            font-weight: 400;
            padding: 0; }
            #flow ul.step li .icon .icon-in .step-txt h3 {
              font-size: 1.0em;
              line-height: 1.0em;
              margin: 5px 5px 0 0; }
              @media (min-width: 1024px) {
                #flow ul.step li .icon .icon-in .step-txt h3 {
                  font-size: 1.18em; } }
            #flow ul.step li .icon .icon-in .step-txt h4 {
              font-size: 2.5em;
              line-height: 1.0em; }
              @media (min-width: 1024px) {
                #flow ul.step li .icon .icon-in .step-txt h4 {
                  font-size: 3.0em; } }
      #flow ul.step li .step-txt {
        padding: 30px 10px 20px; }
        @media (min-width: 1024px) {
          #flow ul.step li .step-txt {
            width: calc(100% - 230px);
            padding: 40px; } }
        #flow ul.step li .step-txt h2 {
          font-size: 1.4em;
          margin-bottom: 20px; }
          @media (min-width: 1024px) {
            #flow ul.step li .step-txt h2 {
              font-size: 2.25em;
              margin-bottom: 40px; } }
        #flow ul.step li .step-txt p {
          font-size: 0.9em;
          text-align: justify;
          line-height: 1.8em; }
          @media (min-width: 1024px) {
            #flow ul.step li .step-txt p {
              font-size: 1.0em; } }
        #flow ul.step li .step-txt h6 {
          font-size: 0.9em;
          font-weight: normal;
          text-align: justify;
          text-decoration: underline;
          line-height: 1.8em;
          margin-top: 20px; }
          @media (min-width: 1024px) {
            #flow ul.step li .step-txt h6 {
              font-size: 1.0em; } }
        #flow ul.step li .step-txt .btn {
          margin-top: 20px;
          text-align: center; }
          @media (min-width: 1024px) {
            #flow ul.step li .step-txt .btn {
              display: flex;
              text-align: left;
              margin-top: 40px; } }
          #flow ul.step li .step-txt .btn .common-btn {
            margin-bottom: 20px; }
            @media (min-width: 768px) {
              #flow ul.step li .step-txt .btn .common-btn {
                margin-right: 20px; } }
            @media (min-width: 1250px) {
              #flow ul.step li .step-txt .btn .common-btn {
                margin-right: 40px; } }
            #flow ul.step li .step-txt .btn .common-btn:last-child {
              margin: 0; }
