@charset "UTF-8";
/* -- Color -- */
/* -- font family -- */
/* -- Margin -- */
/* -- @font-face -- */
/* -- Font around -- */
/* -- Prefix -- */
/* -- Media Screen -- */
/* -- Gradient -- */
/* -- Retina -- */
/* -- Placeholder -- */
/* -- Flex -- */
/* サブページ
------------------------------------------------------------*/
#page_title {
  margin: clamp(60px, 15dvw, 80px) 0; }
  #page_title .page_title__rows {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: calc( clamp(60px, 15dvw, 80px) * 0.5 ) min(calc( var(--vw) * 5 ), 40px); }
    #page_title .page_title__rows .page_title__name {
      font-size: clamp(28px, calc( 28px + ( 40 - 28 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 40px);
      font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-weight: 500;
      margin: 0; }
      #page_title .page_title__rows .page_title__name::after {
        content: attr(data-english);
        display: block;
        font-size: 0.5em;
        font-weight: 500;
        color: #ed7700;
        line-height: 1.0;
        margin-top: 1.0em; }
    #page_title .page_title__rows .breadcrumbs {
      display: flex;
      align-items: center; }
      #page_title .page_title__rows .breadcrumbs li {
        position: relative;
        margin-right: 0.625em;
        padding-right: 1.0em; }
        #page_title .page_title__rows .breadcrumbs li::after {
          position: absolute;
          top: 0.35em;
          right: 0;
          content: "\f105";
          font-family: 'Font Awesome 6 Free';
          font-size: 12px;
          font-weight: 900;
          color: #6bb72d; }
        #page_title .page_title__rows .breadcrumbs li:last-child {
          margin-right: 0;
          padding-right: 0; }
          #page_title .page_title__rows .breadcrumbs li:last-child::after {
            display: none; }
        #page_title .page_title__rows .breadcrumbs li a {
          font-size: clamp(12px, calc( 12px + ( 14 - 12 ) * ( ( 100dvw - 375px ) / ( 1200 - 375 ) ) ), 14px);
          color: inherit;
          letter-spacing: 0.04em;
          text-decoration: none; }
          #page_title .page_title__rows .breadcrumbs li a:hover {
            color: #ed7700; }

.back {
  display: block;
  font-size: 1.25em;
  color: #FFF;
  ine-height: 1.4;
  text-align: center;
  text-decoration: none;
  max-width: 260px;
  margin: calc( clamp(60px, 15dvw, 80px) * 0.75 ) auto 0;
  padding: 1.25em;
  background: #AAA;
  border-radius: 25em; }
  .back:hover {
    background: #848484; }

.archive_link a {
  display: block;
  color: inherit;
  text-decoration: none;
  margin-bottom: 2.5em;
  padding: 1.875em;
  background: #dddddd; }
  .archive_link a .thumbnail {
    position: relative;
    margin-bottom: 1.25em;
    padding-top: 62.5%;
    overflow: hidden;
    border: 0.625em solid #FFF; }
    .archive_link a .thumbnail img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .archive_link a p.title {
    font-size: 1.5em;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 0.75em; }
  .archive_link a p.excerpt {
    font-size: 1.125em;
    margin-bottom: 0; }
  .archive_link a:hover {
    background: #d0d0d0; }
@media screen and (min-width: 768px) {
  .archive_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .archive_link a {
      width: 48%; } }
@media screen and (min-width: 1000px) {
  .archive_link:after {
    content: "";
    width: 31.25%;
    max-width: 400px; }
  .archive_link a {
    width: 31.25%;
    max-width: 400px; } }

.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  margin: 2.5em 0 0;
  -webkit-transform: translateX(-5px);
  -moz-transform: translateX(-5px);
  -ms-transform: translateX(-5px);
  -o-transform: translateX(-5px);
  transform: translateX(-5px); }
  .wp-pagenavi a,
  .wp-pagenavi span {
    display: block;
    color: #878787;
    line-height: 36px;
    text-decoration: none;
    text-align: center;
    min-width: 36px;
    height: 36px;
    margin: 5px;
    padding: 0 10px;
    background: #EEE;
    border: none;
    border-radius: 3px; }
  .wp-pagenavi a:hover {
    color: #FFF;
    background: #6bb72d; }
  .wp-pagenavi span.current {
    color: #FFF;
    background: #ed7700; }

.pagenav {
  margin-top: 2.5em; }
  .pagenav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .pagenav ul li {
      width: 33.33%; }
      .pagenav ul li a {
        display: block;
        color: #878787;
        line-height: 40px;
        text-decoration: none;
        text-align: center;
        height: 40px;
        margin: 5px;
        background: #EEE;
        border-radius: 3px; }
      .pagenav ul li.prev, .pagenav ul li.next {
        max-width: 120px; }
        .pagenav ul li.prev a:hover, .pagenav ul li.next a:hover {
          color: #FFF;
          background: #6bb72d; }
      .pagenav ul li.backnumber {
        max-width: 220px; }
        .pagenav ul li.backnumber a {
          color: #FFF;
          background: #6bb72d; }
          .pagenav ul li.backnumber a:hover {
            background: #6bb72d; }

.tabs {
  position: relative;
  margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 ); }
  .tabs::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    content: '';
    width: 100%;
    height: 1px;
    background-color: #bbe697; }
  .tabs ul {
    display: flex;
    justify-content: center;
    gap: 0 clamp(10px, 1.5625%, 20px);
    padding: 0 10px; }
    .tabs ul li {
      position: relative;
      z-index: 0;
      flex-grow: 1;
      flex-basis: 100%;
      max-width: 280px;
      overflow: hidden;
      border-width: 1px 1px 0;
      border-style: solid;
      border-color: #bbe697;
      border-radius: 1.25em 1.25em 0 0; }
      .tabs ul li a {
        font-size: clamp(12px, calc( 12px + ( 16 - 12 ) * ( ( 100dvw - 375px ) / ( 1200 - 375 ) ) ), 16px);
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 500;
        color: inherit;
        line-height: 1.4;
        text-decoration: none;
        text-align: center;
        height: 100%;
        padding: 1.0em;
        background-color: #ebf8e1; }
      .tabs ul li:not(.current):hover a {
        color: #ffffff;
        background-color: #6bb72d; }
      .tabs ul li.current {
        z-index: 2; }
        .tabs ul li.current a {
          color: #ed7700;
          background-color: #ffffff; }

/* 運営会社
------------------------------------------------------------*/
#corp .content {
  max-width: 1080px;
  margin: auto; }

/* 体験談
------------------------------------------------------------*/
#voice .detail {
  padding: 1.25em;
  background: #dddddd; }
  #voice .detail .head {
    margin-bottom: 1.25em; }
    #voice .detail .head figure {
      border: 0.625em solid #FFF; }
      #voice .detail .head figure div {
        position: relative;
        padding-top: 62.5%;
        overflow: hidden; }
        #voice .detail .head figure div img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          object-fit: cover; }
    #voice .detail .head header {
      margin-top: 1.25em; }
      #voice .detail .head header h1 {
        font-size: 1.5em;
        font-weight: bold;
        line-height: 1.4;
        margin-bottom: 0; }
      #voice .detail .head header p {
        margin-top: 1.25em;
        margin-bottom: 0; }
        @media screen and (min-width: 768px) {
          #voice .detail .head header p {
            font-size: 1.125em; } }
  #voice .detail .content {
    padding: 1.25em;
    background: #FFF; }
    #voice .detail .content dl dt,
    #voice .detail .content dl dd {
      position: relative;
      max-width: 675px;
      margin-bottom: 1.25em;
      padding: 0.625em;
      border-radius: 6px; }
      @media screen and (min-width: 768px) {
        #voice .detail .content dl dt,
        #voice .detail .content dl dd {
          font-size: 1.125em; } }
      #voice .detail .content dl dt:before, #voice .detail .content dl dt:after,
      #voice .detail .content dl dd:before,
      #voice .detail .content dl dd:after {
        position: absolute;
        top: 0;
        bottom: 0;
        content: "";
        display: block;
        margin: auto; }
      #voice .detail .content dl dt:before,
      #voice .detail .content dl dd:before {
        width: 40px;
        height: 40px;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: contain; }
      #voice .detail .content dl dt:after,
      #voice .detail .content dl dd:after {
        width: 0;
        height: 0;
        border-style: solid;
        border-color: transparent; }
    #voice .detail .content dl dt {
      color: #538e23;
      margin-left: 60px;
      background: #e3f5d5; }
      #voice .detail .content dl dt:before {
        left: -60px;
        background-image: url("../img/page/voice/mentalfit.svg"); }
      #voice .detail .content dl dt:after {
        left: -15px;
        border-width: 10px 15px 10px 0;
        border-right-color: #e3f5d5; }
    #voice .detail .content dl dd {
      color: #ba5d00;
      margin-right: 60px;
      margin-left: auto;
      background: #ffe9d4; }
      #voice .detail .content dl dd:before {
        right: -60px;
        background-image: url("../img/page/voice/avater.svg"); }
      #voice .detail .content dl dd:after {
        right: -15px;
        border-width: 10px 0 10px 15px;
        border-left-color: #ffe9d4; }
    #voice .detail .content dl > dt:last-child, #voice .detail .content dl > dd:last-child {
      margin-bottom: 0; }

/* ブログ
------------------------------------------------------------*/
#posts article {
  padding: 1.5625em;
  background: #FFF;
  border: 1.875em solid #dddddd; }
  #posts article header h1 {
    font-size: 1.25em;
    color: #000;
    line-height: 1.4;
    padding: 1em 1em 1em 1.5em;
    background: #dddddd;
    border-left: 5px solid #6bb72d; }
  #posts article header p {
    color: #999;
    text-align: right;
    margin: 6px 0 0; }
#posts #post header {
  margin-bottom: 2.5em; }
#posts #archive .card {
  display: block;
  color: inherit;
  text-decoration: none;
  margin-bottom: 1.25em; }
  #posts #archive .card article figure {
    margin-bottom: 1.25em; }
    #posts #archive .card article figure div {
      position: relative;
      padding-top: 62.5%;
      overflow: hidden; }
      #posts #archive .card article figure div img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover; }
  #posts #archive .card article .archive-content header {
    margin-bottom: 1.25em; }
  #posts #archive .card article .archive-content .content .more {
    display: block;
    font-weight: bold;
    color: #FFF;
    line-height: 40px;
    text-align: center;
    width: 100%;
    max-width: 220px;
    height: 40px;
    background: #6bb72d;
    border-radius: 4px; }
  #posts #archive .card:last-child {
    margin-bottom: 0; }
#posts #sidebar {
  margin-top: calc( clamp(60px, 15dvw, 80px) * 0.75 );
  padding: 1.875em;
  background: #dddddd; }
  #posts #sidebar .scroll {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    right: 0; }
    #posts #sidebar .scroll section {
      margin-bottom: 1.875em; }
      #posts #sidebar .scroll section:last-of-type {
        margin-bottom: 0; }
      #posts #sidebar .scroll section h3 {
        font-size: 1.125em;
        margin-bottom: 12px; }
      #posts #sidebar .scroll section.newposts ul li {
        margin-bottom: 15px; }
        #posts #sidebar .scroll section.newposts ul li:last-child {
          margin-bottom: 0; }
        #posts #sidebar .scroll section.newposts ul li a {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-flow: row wrap;
          flex-flow: row wrap;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          color: inherit;
          text-decoration: none;
          padding: 10px;
          background: #FFF; }
          #posts #sidebar .scroll section.newposts ul li a .thumbnail {
            width: 60px;
            height: 60px;
            margin-right: 10px; }
            #posts #sidebar .scroll section.newposts ul li a .thumbnail img {
              width: 100%;
              height: 100%;
              object-fit: cover; }
          #posts #sidebar .scroll section.newposts ul li a p {
            flex: 1;
            margin-bottom: 0; }
            #posts #sidebar .scroll section.newposts ul li a p span {
              display: block;
              color: #999;
              margin-bottom: 6px; }
@media screen and (min-width: 768px) {
  #posts #archive .card article {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #posts #archive .card article figure {
      width: 31.58%;
      margin-bottom: 0; }
      #posts #archive .card article figure div {
        padding-top: 100%; }
    #posts #archive .card article .archive-content {
      width: 65.78%; }
  #posts #sidebar .scroll section.newposts ul li a .thumbnail {
    width: 120px;
    height: 120px; }
  #posts #sidebar .scroll section.newposts ul li a p {
    width: -webkit-calc(100% - 130px);
    width: calc(100% - 130px); } }
@media screen and (min-width: 1000px) {
  #posts {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #posts .headline {
      width: 100%; }
    #posts #archive,
    #posts #post {
      width: 68.75%;
      max-width: 880px; }
    #posts #sidebar {
      width: 26.5625%;
      max-width: 340px;
      margin-top: 0; } }

/* スタッフ紹介
------------------------------------------------------------*/
#staff .introduction .rows {
  background: #dddddd; }
  #staff .introduction .rows figure {
    text-align: center;
    padding: 1.25em 2.5em 0;
    background: #dddddd; }
  #staff .introduction .rows .content {
    padding-bottom: 1.25em; }
    #staff .introduction .rows .content header .license {
      padding: 1.5em 2.5em; }
      #staff .introduction .rows .content header .license p {
        margin-bottom: 0.625em; }
        #staff .introduction .rows .content header .license p span {
          font-size: 1.25em;
          font-weight: bold; }
        #staff .introduction .rows .content header .license p:last-of-type {
          margin-bottom: 0; }
    #staff .introduction .rows .content header .name {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding: 1.5em 1.25em;
      background: rgba(255, 255, 255, 0.65); }
      #staff .introduction .rows .content header .name p {
        font-size: 1.5em;
        margin: 0 1.25em; }
        #staff .introduction .rows .content header .name p span.ja {
          font-weight: bold; }
        #staff .introduction .rows .content header .name p span.en {
          font-size: 1.25em;
          color: #AAA; }
    #staff .introduction .rows .content .company {
      font-weight: bold;
      margin: 1.25em 0;
      padding: 0 2.5em; }
    #staff .introduction .rows .content .pr {
      margin-top: 1.25em;
      padding: 0 2.5em; }
    #staff .introduction .rows .content section {
      margin-top: 1.25em;
      padding: 0 2.5em; }
      #staff .introduction .rows .content section h4 {
        font-weight: bold;
        margin-bottom: 0.75em; }
      #staff .introduction .rows .content section p {
        margin-bottom: 0; }
  @media screen and (min-width: 768px) {
    #staff .introduction .rows {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }
      #staff .introduction .rows figure {
        width: 32.8125%;
        max-width: 420px;
        margin-bottom: 0;
        padding: 2.0em; }
      #staff .introduction .rows .content {
        width: 67.1875%;
        max-width: 860px; } }
#staff .archive_link a .thumbnail {
  padding-top: 70.58%;
  background: #FFF; }
  #staff .archive_link a .thumbnail img {
    object-fit: contain;
    font-family: 'object-fit: contain;'; }
@media screen and (min-width: 1200px) {
  #staff .archive_link:before, #staff .archive_link:after {
    content: "";
    width: 23.4375%;
    max-width: 300px; }
  #staff .archive_link:before {
    order: 1; }
  #staff .archive_link a {
    width: 23.4375%;
    max-width: 300px; } }
#staff .person dl {
  margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 );
  padding: 1.25em 1.875em;
  background: #dddddd; }
  #staff .person dl > div {
    margin-bottom: 1.25em;
    background: #FFF; }
    #staff .person dl > div:last-of-type {
      margin-bottom: 0; }
    #staff .person dl > div dt {
      font-size: 1.25em;
      font-weight: bold;
      color: #FFF;
      line-height: 1.4;
      text-align: center;
      padding: 6px; }
    #staff .person dl > div dd {
      padding: 5px; }
      #staff .person dl > div dd ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        #staff .person dl > div dd ul li {
          margin: 5px; }
          #staff .person dl > div dd ul li a {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-flow: row wrap;
            flex-flow: row wrap;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            color: #CCC;
            line-height: 1.4;
            text-decoration: none;
            text-align: center;
            width: 60px;
            height: 60px;
            background: #555;
            border-radius: 50%; }
            #staff .person dl > div dd ul li a div {
              line-height: 60px;
              text-align: center;
              width: 60px;
              height: 60px; }
              #staff .person dl > div dd ul li a div img {
                line-height: normal;
                width: 100%;
                height: 100%;
                background: #FFF;
                object-fit: contain;
                font-family: 'object-fit: contain;'; }
            #staff .person dl > div dd ul li a:hover {
              opacity: 0.6; }
    #staff .person dl > div:first-of-type dt {
      background: #CBBEA0; }
    #staff .person dl > div:last-of-type dt {
      background: #CD9E9E; }
@media screen and (min-width: 768px) {
  #staff .person .rows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #staff .person .rows dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      width: 47.6%; }
      #staff .person .rows dl > div {
        width: 47%;
        margin-bottom: 0; } }
  @media screen and (min-width: 768px) and (min-width: 1000px) {
    #staff .person .rows:after {
      content: "";
      width: 31.25%;
      max-width: 400px; }
    #staff .person .rows dl {
      width: 31.25%;
      max-width: 400px; } }

/* ターゲット
------------------------------------------------------------*/
#target .rows .content {
  position: relative;
  margin-bottom: 3em;
  padding: 2.5em;
  border: 4px solid #CCC;
  border-radius: 20px; }
  #target .rows .content:before, #target .rows .content:after {
    position: absolute;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent; }
  #target .rows .content:before {
    bottom: -30px;
    right: 2.5em;
    border-width: 30px 20px 0 20px;
    border-top-color: #CCC; }
  #target .rows .content:after {
    bottom: -23px;
    right: -webkit-calc( 2.5em + 5px );
    right: calc( 2.5em + 5px );
    border-width: 23px 15px 0 15px;
    border-top-color: #FFF; }
#target .rows .avater {
  text-align: right;
  width: 15.16%;
  max-width: 182px;
  margin-left: auto; }
@media screen and (min-width: 768px) {
  #target .rows {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 5%; }
    #target .rows .content {
      width: 75.5%;
      margin-bottom: 0; }
      #target .rows .content:before {
        top: 2.5em;
        right: -30px;
        bottom: auto;
        border-width: 20px 0 20px 30px;
        border-top-color: transparent;
        border-left-color: #CCC; }
      #target .rows .content:after {
        top: -webkit-calc( 2.5em + 5px );
        top: calc( 2.5em + 5px );
        right: -23px;
        bottom: auto;
        border-width: 15px 0 15px 23px;
        border-top-color: transparent;
        border-left-color: #FFF; }
    #target .rows .avater {
      width: 15.16%;
      max-width: none; }
      #target .rows .avater div {
        position: -webkit-sticky;
        position: sticky;
        top: 200px;
        right: 0; } }
#target .relation {
  margin-top: calc( clamp(60px, 15dvw, 80px) * 0.75 ); }

/* 復職までのステップ
------------------------------------------------------------*/
#step ul {
  margin-bottom: 2.5em;
  padding: 0.9375em 1.25em;
  background: #dddddd; }
  #step ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    position: relative;
    margin-bottom: 50px;
    padding: 16px 7.5%;
    background: #FFF;
    border-radius: 3px; }
    #step ul li:after {
      position: absolute;
      right: 0;
      bottom: -35px;
      left: 0;
      content: "";
      display: block;
      width: 0;
      height: 0;
      margin: auto;
      border-width: 20px 12px 0 12px;
      border-style: solid;
      border-color: transparent;
      border-top-color: #002040; }
    #step ul li:last-child {
      margin-bottom: 0; }
      #step ul li:last-child:after {
        display: none; }
    #step ul li i {
      flex-shrink: 0;
      margin-right: 7.5%; }
      #step ul li i.calendar {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        font-size: 0.875em;
        font-weight: bold;
        font-style: normal;
        color: #111;
        line-height: 1.4;
        letter-spacing: -0.084em;
        text-align: center;
        width: 57px;
        height: 53px;
        padding-bottom: 15px;
        background: url("../img/page/step/calendar.png"); }
        @media only screen and (min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3 / 2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
          #step ul li i.calendar {
            background-image: url("../img/page/step/calendar@2x.png");
            background-size: cover; } }
      #step ul li i.icon {
        width: 50px;
        height: 50px; }
        #step ul li i.icon.medical {
          background-image: url("../img/page/step/icon_01.png"); }
          @media only screen and (min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3 / 2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
            #step ul li i.icon.medical {
              background-image: url("../img/page/step/icon_01@2x.png"); } }
        #step ul li i.icon.follow {
          background-image: url("../img/page/step/icon_02.png"); }
          @media only screen and (min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3 / 2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
            #step ul li i.icon.follow {
              background-image: url("../img/page/step/icon_02@2x.png"); } }
    #step ul li p {
      display: inline-block;
      font-size: 1.125em;
      font-weight: bold;
      line-height: 1.4;
      margin-bottom: 0; }
    #step ul li.return {
      display: block;
      padding-top: 2.5em;
      padding-bottom: 2.5em;
      background: #FAF0F5;
      border: 0.4375em solid #F3D8D8; }
      #step ul li.return p {
        font-size: 2.0em;
        font-weight: bold;
        color: #8C0000;
        line-height: 1.4;
        text-align: center;
        width: auto;
        padding: 0; }
  @media screen and (min-width: 768px) {
    #step ul {
      padding: 1.875em 2.5em; }
      #step ul li i.calendar {
        font-size: 1.25em;
        width: 114px;
        height: 106px;
        padding-bottom: 20px;
        background: url("../img/page/step/calendar@2x.png"); }
      #step ul li i.icon {
        width: 100px;
        height: 100px; }
        #step ul li i.icon.medical {
          background-image: url("../img/page/step/icon_01@2x.png"); }
        #step ul li i.icon.follow {
          background-image: url("../img/page/step/icon_02@2x.png"); }
      #step ul li p {
        font-size: 1.5em;
        width: auto; } }

/* プログラム内容
------------------------------------------------------------*/
#program .visual figure,
#program .visual ul {
  text-align: center;
  margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 ); }
@media screen and (min-width: 768px) {
  #program .visual {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 5%; }
    #program .visual figure {
      width: 44.82%;
      max-width: 515px; }
    #program .visual ul {
      width: 46.99%;
      max-width: 540px; } }
#program .detail {
  padding: 1.25em 2.0em;
  background: #dddddd; }
  #program .detail > section {
    margin-bottom: 1.5em;
    padding: 1.25em;
    background: #FFF; }
    #program .detail > section:last-of-type {
      margin-bottom: 0; }
    #program .detail > section h4 {
      font-size: 1.75em;
      font-weight: bold;
      color: #FFF;
      line-height: 1.4;
      text-align: center;
      margin-bottom: 20px;
      padding: 8px 16px;
      border-radius: 4px; }
    #program .detail > section p {
      font-size: 1.25em;
      font-weight: bold;
      margin-bottom: 20px; }
    #program .detail > section section {
      padding: 0.75em;
      background: #dddddd;
      border: 1px solid #CCC; }
      #program .detail > section section h5 {
        font-weight: bold;
        line-height: 1.4;
        text-align: center;
        margin-bottom: 0.75em; }
      #program .detail > section section ul {
        list-style: disc;
        margin-left: 1.5em; }
    #program .detail > section:nth-of-type(1) h4 {
      background: #EDB096; }
    #program .detail > section:nth-of-type(2) h4 {
      background: #89B9DC; }
    #program .detail > section:nth-of-type(3) h4 {
      background: #A6D279; }
    @media screen and (min-width: 1000px) {
      #program .detail > section h4 {
        font-size: 1.75em; } }
  @media screen and (min-width: 768px) {
    #program .detail {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      #program .detail > section {
        width: 31.96%;
        max-width: 390px;
        margin-bottom: 0; } }

/* 1日の流れ
------------------------------------------------------------*/
#schedule > ul {
  padding: 3.90625%;
  background: #dddddd; }
  #schedule > ul > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    margin-bottom: 30px;
    padding: 10px 2.0em;
    background: #FFF;
    border-radius: 12px; }
    #schedule > ul > li:after {
      position: absolute;
      bottom: -24px;
      right: 0;
      left: 0;
      content: "";
      display: block;
      width: 0;
      height: 0;
      margin: auto;
      border-width: 14px 8px 0 8px;
      border-style: solid;
      border-color: transparent;
      border-top-color: #CCC; }
    #schedule > ul > li:last-child {
      margin-bottom: 0; }
      #schedule > ul > li:last-child:after {
        display: none; }
    #schedule > ul > li .time {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      margin: 10px 30px 10px 0; }
      #schedule > ul > li .time span {
        font-size: 1.25em;
        font-weight: bold;
        color: #888;
        line-height: 1.4;
        margin-right: 2.0em; }
      #schedule > ul > li .time img {
        width: 70px;
        height: 70px; }
      @media screen and (min-width: 768px) {
        #schedule > ul > li .time span {
          font-size: 2.0em; }
        #schedule > ul > li .time img {
          width: 140px;
          height: 140px; } }
    #schedule > ul > li .title {
      flex-grow: 2;
      margin: 10px 30px 10px 0; }
      #schedule > ul > li .title h4 {
        font-size: 1.5em;
        font-weight: bold;
        color: #111;
        line-height: 1.4;
        margin-bottom: 0; }
      #schedule > ul > li .title p {
        margin: 12px 0 0; }
    #schedule > ul > li ul {
      list-style: disc;
      margin: 10px 30px 10px 1.5em; }
      #schedule > ul > li ul li {
        font-size: 1.5em;
        font-weight: bold; }
    #schedule > ul > li .photo {
      margin: 10px 0; }
      #schedule > ul > li .photo img {
        width: 100%; }

/* 推奨プログラム
------------------------------------------------------------*/
#program-example .headline + p {
  font-size: 1.25em;
  font-weight: bold;
  margin-right: 5%;
  margin-left: 5%; }
#program-example .example {
  padding: 3.90625%;
  background: #dddddd; }
  #program-example .example section {
    margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 );
    padding: 3.389%;
    background: #FFF; }
    #program-example .example section:last-of-type {
      margin-bottom: 0; }
    #program-example .example section .user {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -ms-flex-flow: row nowrap;
      flex-flow: row nowrap; }
      #program-example .example section .user h4 {
        margin-bottom: 0; }
      #program-example .example section .user div {
        padding-left: 5%; }
        #program-example .example section .user div table {
          table-layout: auto;
          margin-bottom: 1.5em; }
          #program-example .example section .user div table tbody tr th,
          #program-example .example section .user div table tbody tr td {
            font-size: 1.25em;
            font-weight: bold;
            line-height: 1.4;
            padding-top: 5px;
            padding-bottom: 5px; }
            @media screen and (min-width: 768px) {
              #program-example .example section .user div table tbody tr th,
              #program-example .example section .user div table tbody tr td {
                font-size: 1.75em; } }
            @media screen and (min-width: 1000px) {
              #program-example .example section .user div table tbody tr th,
              #program-example .example section .user div table tbody tr td {
                font-size: 2.25em; } }
          #program-example .example section .user div table tbody tr th {
            white-space: nowrap;
            padding-right: 10px; }
        #program-example .example section .user div ul {
          list-style: disc;
          margin-left: 1.5em; }
    #program-example .example section .program {
      margin-top: 2.5em; }
      #program-example .example section .program h5 {
        font-size: 1.25em;
        font-weight: bold;
        color: #202020;
        line-height: 1.4;
        text-align: center;
        margin-bottom: 0;
        padding: 6px 18px;
        background: #dddddd; }
        @media screen and (min-width: 768px) {
          #program-example .example section .program h5 {
            font-size: 1.5em; } }
      #program-example .example section .program ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        #program-example .example section .program ul li {
          font-weight: bold;
          color: #FFF;
          line-height: 1.4;
          text-align: center;
          width: 48%;
          margin-top: 15px;
          padding: 16px 20px;
          border-radius: 4px; }
          #program-example .example section .program ul li.red {
            background: #EDB096; }
          #program-example .example section .program ul li.green {
            background: #A6D279; }
          #program-example .example section .program ul li.blue {
            background: #89B9DC; }
        @media screen and (min-width: 768px) {
          #program-example .example section .program ul:after {
            content: "";
            width: 32%; }
          #program-example .example section .program ul li {
            width: 32%; } }

/* 利用案内・料金
------------------------------------------------------------*/
#price .price {
  text-align: center;
  margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 );
  padding: 3.90625% 7.8125%;
  background: #dddddd; }
  #price .price p {
    margin-bottom: 0; }
    #price .price p strong {
      font-size: 2.0em;
      color: #6bb72d; }
  #price .price dl {
    margin-bottom: 1.5em; }
    #price .price dl div {
      margin-top: 2.5em;
      padding: 6%;
      background: #FFF; }
      #price .price dl div dt {
        font-size: 1.25em;
        font-weight: bold;
        color: #6bb72d;
        line-height: 1.4;
        margin-bottom: 1.36em;
        padding-bottom: 12px;
        border-bottom: 1px solid; }
      #price .price dl div dd {
        font-size: 1.125em; }
        #price .price dl div dd span {
          display: block;
          font-size: 1.25em;
          font-weight: bold;
          color: #6bb72d;
          margin-top: 10px; }
    @media screen and (min-width: 768px) {
      #price .price dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        #price .price dl div {
          width: 46.55%;
          max-width: 500px; } }
#price .limit {
  margin: 0 5% clamp(60px, 15dvw, 80px); }
  #price .limit h4 {
    font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 1.75em;
    color: #6bb72d;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 1.4em; }
  #price .limit table tr th,
  #price .limit table tr td {
    line-height: 1.4;
    vertical-align: middle;
    text-align: center;
    padding: 10px;
    border: 1px solid #FFF; }
  #price .limit table tr th {
    color: #FFF;
    background: #6bb72d; }
  #price .limit table thead tr td {
    color: #538e23;
    background: #c8ebac; }
  #price .limit table tbody tr td {
    background: #e3f5d5; }
#price .flow dl {
  margin-bottom: -20px; }
  #price .flow dl div {
    position: relative;
    counter-increment: num;
    margin-bottom: 20px;
    background: #d0d0d0; }
    #price .flow dl div:before {
      position: absolute;
      bottom: -20px;
      right: 0;
      left: 0;
      content: "";
      display: block;
      width: 0;
      height: 0;
      margin: auto;
      border-width: 24px 12px 0 12px;
      border-style: solid;
      border-color: transparent;
      border-top-color: #d0d0d0; }
    #price .flow dl div:last-child:before {
      display: none; }
    #price .flow dl div dt {
      line-height: 1.4;
      text-align: center;
      background: #dddddd; }
      #price .flow dl div dt:before {
        display: block;
        content: counter(num);
        font-size: 2.0em;
        font-weight: bold;
        color: #FFF;
        padding: 10px 15px;
        background: #6bb72d; }
      #price .flow dl div dt span {
        display: block;
        font-size: 1.125em;
        font-weight: bold;
        color: #8C0000;
        padding: 18px 15px; }
    #price .flow dl div dd {
      padding: 15px 15px; }
  @media screen and (min-width: 768px) {
    #price .flow dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      #price .flow dl:after {
        content: "";
        width: -webkit-calc(33.33% - 13.33px);
        width: calc(33.33% - 13.33px); }
      #price .flow dl div {
        width: -webkit-calc(33.33% - 13.33px);
        width: calc(33.33% - 13.33px); }
        #price .flow dl div:before {
          top: 0;
          bottom: 0;
          right: -20px;
          left: auto;
          border-width: 12px 0 12px 20px;
          border-top-color: transparent;
          border-left-color: #d0d0d0; }
        #price .flow dl div:nth-of-type(3n+3):before {
          display: none; } }
  @media screen and (min-width: 1200px) {
    #price .flow dl:after {
      display: none; }
    #price .flow dl div {
      width: -webkit-calc(20% - 16px);
      width: calc(20% - 16px); }
      #price .flow dl div:nth-of-type(3n+3):before {
        display: block; } }

/* よくあるご質問
------------------------------------------------------------*/
#faq dl {
  padding: 3.90625%;
  background: #dddddd; }
  #faq dl > div {
    margin-bottom: 24px;
    padding: 5px;
    background: #FFF; }
    #faq dl > div:last-of-type {
      margin-bottom: 0; }
    #faq dl > div dt,
    #faq dl > div dd {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      position: relative;
      padding-left: 70px; }
      #faq dl > div dt:before,
      #faq dl > div dd:before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        display: block;
        font-size: 1.25em;
        font-weight: bold;
        line-height: 30px;
        width: 50px;
        height: 30px;
        text-align: center;
        margin: auto;
        border-radius: 8px; }
      @media screen and (min-width: 768px) {
        #faq dl > div dt,
        #faq dl > div dd {
          padding-left: 130px; }
          #faq dl > div dt:before,
          #faq dl > div dd:before {
            font-size: 2.5em;
            line-height: 60px;
            width: 100px;
            height: 60px; } }
    #faq dl > div dt {
      font-size: 1.125em;
      color: #8C0000;
      min-height: 30px;
      margin-bottom: 5px;
      padding-right: -webkit-calc( 20px + 3.389% );
      padding-right: calc( 20px + 3.389% );
      cursor: pointer; }
      @media screen and (min-width: 768px) {
        #faq dl > div dt {
          min-height: 60px; } }
      #faq dl > div dt:before {
        content: "Q";
        background: #FAF0F5; }
      #faq dl > div dt:after {
        position: absolute;
        top: 0;
        right: 3.389%;
        bottom: 0;
        content: "";
        display: block;
        width: 15px;
        height: 15px;
        margin: auto;
        border-width: 0 2px 2px 0;
        border-style: solid;
        border-color: #DDD;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
        -webkit-transition: 0.4s transform ease;
        -moz-transition: 0.4s transform ease;
        -ms-transition: 0.4s transform ease;
        -o-transition: 0.4s transform ease;
        transition: 0.4s transform ease; }
      #faq dl > div dt.open:after {
        -webkit-transform: rotate(-135deg);
        -moz-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
        -o-transform: rotate(-135deg);
        transform: rotate(-135deg); }
      #faq dl > div dt.open + dd {
        max-height: 1000px;
        min-height: 30px;
        opacity: 1.0;
        visibility: visible; }
        @media screen and (min-width: 768px) {
          #faq dl > div dt.open + dd {
            min-height: 60px; } }
    #faq dl > div dd {
      max-height: 0;
      opacity: 0;
      visibility: hidden;
      -webkit-transition: 0.4s ease-out;
      -moz-transition: 0.4s ease-out;
      -ms-transition: 0.4s ease-out;
      -o-transition: 0.4s ease-out;
      transition: 0.4s ease-out; }
      #faq dl > div dd:before {
        content: "A";
        color: #00468C;
        background: #F1F8FA; }

/* お問い合わせ
------------------------------------------------------------*/
#contact .headline + div {
  margin-right: 5%;
  margin-left: 5%; }
#contact .phone {
  margin-bottom: clamp(60px, 15dvw, 80px);
  overflow: hidden; }
  #contact .phone p {
    font-size: 1.25em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 0; }
    #contact .phone p:last-of-type {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: -webkit-calc(100% + 1.25em);
      width: calc(100% + 1.25em);
      -webkit-transform: translateX(-0.625em);
      -moz-transform: translateX(-0.625em);
      -ms-transform: translateX(-0.625em);
      -o-transform: translateX(-0.625em);
      transform: translateX(-0.625em); }
      #contact .phone p:last-of-type .tel,
      #contact .phone p:last-of-type .time {
        color: #ed7700;
        margin: 1.0em 0.625em; }
      #contact .phone p:last-of-type .tel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 2.0em;
        font-weight: bold;
        line-height: 1.2;
        text-decoration: none; }
        #contact .phone p:last-of-type .tel i {
          display: block;
          width: 24px;
          height: 24px;
          margin-right: 10px;
          background: url("../img/footer/icon_tel.svg") no-repeat 50% 50%;
          background-size: contain; }
      #contact .phone p:last-of-type .time {
        font-size: 0.875em; }

.form {
  padding: 3.90625%;
  background: #dddddd; }
  .form dl {
    margin-bottom: 2.5em; }
    .form dl > div {
      margin-bottom: 1.5em; }
      .form dl > div dt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        position: relative;
        font-size: 1.125em;
        font-weight: bold;
        color: #111;
        margin: 0 0 12px; }
        .form dl > div dt span {
          display: block;
          font-size: 0.75em;
          font-weight: bold;
          color: #FFF;
          line-height: 20px;
          vertical-align: middle;
          text-align: center;
          width: 60px;
          height: 20px;
          margin-left: 10px;
          background: #ed7700;
          border-radius: 4px; }
      .form dl > div dd table tr th,
      .form dl > div dd table tr td {
        padding: 10px 0; }
      .form dl > div dd table tr th {
        font-weight: bold;
        white-space: nowrap;
        padding-right: 10px; }
      .form dl > div dd:after {
        content: "";
        display: table;
        clear: both; }
      @media screen and (min-width: 768px) {
        .form dl > div {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-flow: row wrap;
          flex-flow: row wrap;
          margin-bottom: 2.0em; }
          .form dl > div dt {
            width: 25%;
            margin: 0; }
          .form dl > div dd {
            width: 75%;
            padding-left: 5%; } }
  .form .agree,
  .form .submit {
    text-align: center; }
  .form .submit {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 820px;
    margin: auto; }
    .form .submit .wpcf7-spinner {
      position: absolute;
      top: 50%;
      left: 100%;
      transform: translateY(-50%); }
  .form .terms {
    display: flex;
    justify-content: center;
    gap: 1.0em;
    font-size: 0.875em;
    margin-top: 40px; }
    .form .terms li {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0 1.0em; }
      .form .terms li a {
        color: inherit;
        text-decoration: none; }
        .form .terms li a:hover {
          text-decoration: underline; }
      .form .terms li::after {
        content: '';
        width: 1px;
        height: 1.0em;
        background-color: #999; }
      .form .terms li:last-child::after {
        display: none; }
  .form .agree {
    margin-bottom: 1.5em; }

/* カウンセリングサービス
------------------------------------------------------------*/
#counseling .counseling_inner > *:not(.headline) {
  margin-right: 5%;
  margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 );
  margin-left: 5%; }
  #counseling .counseling_inner > *:not(.headline):last-child {
    margin-bottom: 0; }
#counseling .counseling_inner .about ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  #counseling .counseling_inner .about ul li {
    width: 42.65%;
    margin-bottom: 2.5em; }
#counseling .counseling_inner .about p {
  font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.25em;
  color: #000;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 0;
  padding: 0.8em 0;
  border-width: 1px 0 1px 0;
  border-style: solid;
  border-color: #6bb72d; }
  #counseling .counseling_inner .about p strong {
    font-weight: normal; }
@media screen and (min-width: 768px) {
  #counseling .counseling_inner .about ul li {
    width: 22.39%;
    max-width: 258px; }
  #counseling .counseling_inner .about p {
    font-size: 1.75em; } }
#counseling .counseling_inner .voice dl dt,
#counseling .counseling_inner .voice dl dd {
  position: relative;
  max-width: 675px;
  margin-bottom: 1.25em;
  padding: 0.625em;
  border-radius: 6px; }
  @media screen and (min-width: 768px) {
    #counseling .counseling_inner .voice dl dt,
    #counseling .counseling_inner .voice dl dd {
      font-size: 1.125em; } }
  #counseling .counseling_inner .voice dl dt:before, #counseling .counseling_inner .voice dl dt:after,
  #counseling .counseling_inner .voice dl dd:before,
  #counseling .counseling_inner .voice dl dd:after {
    position: absolute;
    top: 0;
    bottom: 0;
    content: "";
    display: block;
    margin: auto; }
  #counseling .counseling_inner .voice dl dt:before,
  #counseling .counseling_inner .voice dl dd:before {
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain; }
  #counseling .counseling_inner .voice dl dt:after,
  #counseling .counseling_inner .voice dl dd:after {
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent; }
#counseling .counseling_inner .voice dl dt {
  color: #ba5d00;
  margin-right: 60px;
  margin-left: auto;
  background: #ffe9d4; }
  #counseling .counseling_inner .voice dl dt:before {
    right: -60px;
    background-image: url("../img/page/voice/avater.svg"); }
  #counseling .counseling_inner .voice dl dt:after {
    right: -15px;
    border-width: 10px 0 10px 15px;
    border-left-color: #ffe9d4; }
#counseling .counseling_inner .voice dl dd {
  color: #538e23;
  margin-left: 60px;
  background: #e3f5d5; }
  #counseling .counseling_inner .voice dl dd:before {
    left: -60px;
    background-image: url("../img/page/voice/cocolab.svg"); }
  #counseling .counseling_inner .voice dl dd:after {
    left: -15px;
    border-width: 10px 15px 10px 0;
    border-right-color: #e3f5d5; }
#counseling .counseling_inner .voice dl > dt:last-child, #counseling .counseling_inner .voice dl > dd:last-child {
  margin-bottom: 0; }
@media screen and (min-width: 768px) {
  #counseling .counseling_inner .voice dl dt,
  #counseling .counseling_inner .voice dl dd {
    margin-bottom: 2.5em;
    padding: 1.5625em; }
    #counseling .counseling_inner .voice dl dt:before,
    #counseling .counseling_inner .voice dl dd:before {
      width: 80px;
      height: 80px; }
  #counseling .counseling_inner .voice dl dt {
    margin-right: 130px; }
    #counseling .counseling_inner .voice dl dt:before {
      right: -130px; }
    #counseling .counseling_inner .voice dl dt:after {
      right: -30px;
      border-width: 10px 0 10px 30px; }
  #counseling .counseling_inner .voice dl dd {
    margin-left: 130px; }
    #counseling .counseling_inner .voice dl dd:before {
      left: -130px; }
    #counseling .counseling_inner .voice dl dd:after {
      left: -30px;
      border-width: 10px 30px 10px 0; } }
#counseling .counseling_inner section h4 {
  font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.75em;
  color: #6bb72d;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 2.5em; }
  #counseling .counseling_inner section h4 + div {
    padding: 2.0em;
    background: #dddddd; }
    #counseling .counseling_inner section h4 + div > *:last-child {
      margin-bottom: 0; }
  @media screen and (min-width: 768px) {
    #counseling .counseling_inner section h4 + * {
      text-align: center; } }
#counseling .counseling_inner section .table tr th,
#counseling .counseling_inner section .table tr td {
  line-height: 1.4;
  vertical-align: middle;
  text-align: center;
  padding: 0.625em 1.0em;
  border: 1px solid #FFF; }
#counseling .counseling_inner section .table tr th {
  color: #FFF;
  background: #ed7700; }
#counseling .counseling_inner section .table tr td {
  color: #538e23;
  background: #e3f5d5; }
#counseling .counseling_inner section .table thead td {
  color: #FFF;
  background: #6bb72d; }
#counseling .counseling_inner .callphone {
  margin-top: 2.0em; }
  #counseling .counseling_inner .callphone p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 0; }
    #counseling .counseling_inner .callphone p span:not(.tel) {
      font-weight: bold;
      color: #ed7700;
      line-height: 2.0em;
      text-align: center;
      width: 11.25em;
      height: 2.0em;
      margin: 0.625em 0.625em 0;
      border: 1px solid;
      border-radius: 0.2 0.5em; }
    #counseling .counseling_inner .callphone p .tel {
      display: block;
      font-size: 2.0em;
      color: #000;
      line-height: 1.0;
      text-decoration: none;
      margin: 0.625em 0.625em 0; }

/* mentalfitとは
------------------------------------------------------------*/
.content_inner {
  margin-right: 5%;
  margin-left: 5%; }

.page_rows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: -1.25em;
  overflow: hidden; }
  .page_rows .page_rows_text,
  .page_rows .page_rows_image {
    margin: 1.25em; }

.sub_headline {
  position: relative;
  left: 50%;
  display: inline-block;
  font-size: 1.5em;
  font-weight: bold;
  color: #6bb72d;
  line-height: 1.4;
  text-align: center;
  margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 );
  padding: 0.75em 2.0em;
  border: 2px solid #6bb72d;
  border-radius: 25em;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%); }
  .sub_headline span {
    display: block;
    font-size: 0.85em;
    font-weight: bold; }
  .sub_headline::before, .sub_headline::after {
    position: absolute;
    content: '';
    display: block; }
  .sub_headline::before {
    top: 50%;
    left: 50%;
    width: calc( 100% + 20px );
    height: calc( 100% + 20px );
    margin: auto;
    border: 2px solid #6bb72d;
    border-radius: 25em;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
  .sub_headline::after {
    top: -1.5em;
    right: -2.425em;
    width: 2.625em;
    height: 3.0em;
    background: url("../img/page/philosophy/border.svg") no-repeat 50% 50%;
    background-size: contain; }

#about .philosophy {
  margin-bottom: clamp(60px, 15dvw, 80px); }
  #about .philosophy .philosophy__img {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.5 ); }
    #about .philosophy .philosophy__img .philosophy__img__item {
      flex-grow: 1;
      flex-basis: 438px;
      width: fit-content; }
  #about .philosophy .philosophy__copy {
    font-size: clamp(18px, calc( 18px + ( 32 - 18 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 32px);
    font-weight: 500;
    color: #ed7700;
    line-height: 1.6;
    text-align: center; }
#about .policy {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(60px, 15dvw, 80px);
  padding: clamp(60px, 15dvw, 80px) 0; }
  #about .policy::after {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    left: 0;
    content: '';
    height: 100%;
    margin: 0 calc( 50% - ( var(--vw) * 50 ) );
    background-color: #f6fcf1; }
  #about .policy .policy__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: calc( clamp(60px, 15dvw, 80px) * 0.5 ) min(3.125%, 40px); }
    #about .policy .policy__list .policy__list__item {
      display: flex;
      flex-direction: column;
      flex-grow: 1;
      flex-basis: 275px; }
      #about .policy .policy__list .policy__list__item dt {
        font-size: clamp(18px, calc( 18px + ( 24 - 18 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 24px);
        position: relative;
        flex-shrink: 0;
        margin-top: 1.66em;
        padding: 2.5em min(calc( var(--vw) * 5 ), 40px) 1em;
        background-color: #ed7700;
        border-radius: 1.25em 1.25em 0 0; }
        #about .policy .policy__list .policy__list__item dt i {
          position: absolute;
          top: -1.0em;
          right: 0;
          left: 0;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 1.66em;
          color: #ffffff;
          width: 2.0em;
          height: 2.0em;
          margin: auto;
          background-color: #6bb72d;
          border-radius: 50%; }
        #about .policy .policy__list .policy__list__item dt span {
          display: block;
          font-weight: 500;
          color: #ffffff;
          line-height: 1.6;
          letter-spacing: 0.04em;
          text-align: center; }
      #about .policy .policy__list .policy__list__item dd {
        flex-grow: 1;
        flex-shrink: 1;
        padding: min(calc( var(--vw) * 5 ), 40px);
        background-color: #ffffff;
        border-radius: 0 0 1.25em 1.25em; }
#about .feture {
  margin-bottom: clamp(60px, 15dvw, 80px); }
  #about .feture .feture__section {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    gap: calc( clamp(60px, 15dvw, 80px) * 0.5 ) min(6.25em, 80px);
    margin-bottom: clamp(60px, 15dvw, 80px); }
    @media screen and (min-width: 1000px) {
      #about .feture .feture__section {
        flex-wrap: nowrap;
        margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.5 ); } }
    #about .feture .feture__section .feture__section__content {
      flex-grow: 1;
      flex-shrink: 1; }
      #about .feture .feture__section .feture__section__content .feture__section__ttl {
        font-size: clamp(18px, calc( 18px + ( 28 - 18 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 28px);
        display: flex;
        align-items: center;
        gap: 0 min(0.7142em, 20px);
        font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        margin-bottom: min(1.5em, 40px); }
        #about .feture .feture__section .feture__section__content .feture__section__ttl .feture__section__num {
          display: flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          color: #ffffff;
          text-align: center;
          width: min(2.142em, 60px);
          height: min(2.142em, 60px);
          background-color: #ed7700;
          border-radius: 50%; }
          #about .feture .feture__section .feture__section__content .feture__section__ttl .feture__section__num .label {
            font-size: 0.5em;
            font-weight: 500;
            letter-spacing: 0.04em; }
          #about .feture .feture__section .feture__section__content .feture__section__ttl .feture__section__num .num {
            font-weight: 500;
            letter-spacing: 0.04em; }
        #about .feture .feture__section .feture__section__content .feture__section__ttl h4 {
          font-weight: 500;
          color: #6bb72d;
          margin: 0; }
    #about .feture .feture__section .feture__section__img {
      flex-shrink: 0;
      width: min(100%, 400px); }
    #about .feture .feture__section:last-child {
      margin-bottom: 0; }
#about .license {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(60px, 15dvw, 80px);
  padding: clamp(60px, 15dvw, 80px) 0; }
  #about .license::after {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    left: 0;
    content: '';
    height: 100%;
    margin: 0 calc( 50% - ( var(--vw) * 50 ) );
    background-color: #f6fcf1; }
  #about .license .headline + p {
    text-align: center; }
  #about .license .license__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: calc( clamp(60px, 15dvw, 80px) * 0.5 ) min(3.125%, 40px); }
    #about .license .license__list .license__list__item {
      display: flex;
      flex-direction: column;
      flex-grow: 1;
      flex-basis: 426px; }
      #about .license .license__list .license__list__item dt {
        font-size: clamp(18px, calc( 18px + ( 24 - 18 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 24px);
        color: #ffffff;
        line-height: 1.6;
        letter-spacing: 0.04em;
        text-align: center;
        padding: 1em min(calc( var(--vw) * 5 ), 40px);
        background-color: #6bb72d;
        border-radius: 1.25rem 1.25rem 0 0; }
      #about .license .license__list .license__list__item dd {
        flex-grow: 1;
        padding: min(calc( var(--vw) * 5 ), 40px);
        background-color: #ffffff;
        border-radius: 0 0 1.25em 1.25em; }
#about .story {
  margin-bottom: clamp(60px, 15dvw, 80px); }
#about .history {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(60px, 15dvw, 80px);
  padding: clamp(60px, 15dvw, 80px) 0; }
  #about .history::after {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    left: 0;
    content: '';
    height: 100%;
    margin: 0 calc( 50% - ( var(--vw) * 50 ) );
    background-color: #f6fcf1; }
  #about .history .history__list > div {
    display: flex;
    gap: 0 clamp(20px, calc( var(--vw) * 2.5 ), 40px);
    margin-bottom: 1.5em;
    padding-bottom: 1.5em;
    border-bottom: 1px solid #bbe697; }
    #about .history .history__list > div dt {
      position: relative;
      flex-shrink: 0;
      flex-basis: 105px;
      font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-weight: 500;
      color: #6bb72d;
      line-height: 2.0;
      letter-spacing: 0.04em;
      padding-left: 1.25em; }
      #about .history .history__list > div dt::after {
        position: absolute;
        top: 0.5em;
        left: 0;
        content: '';
        display: block;
        width: 0.75em;
        height: 0.75em;
        background: #ed7700;
        border-radius: 50%; }
    #about .history .history__list > div dd {
      flex-grow: 1;
      flex-shrink: 1;
      line-height: 2.0;
      letter-spacing: 0.04em; }
#about .facilities .headline + p {
  text-align: center; }
#about .facilities .facility__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: calc( clamp(60px, 15dvw, 80px) * 0.5 ) min(3.125%, 40px); }
  #about .facilities .facility__list .facility__list__item {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    flex-basis: 275px; }
    #about .facilities .facility__list .facility__list__item .facility__list__thumb {
      margin-bottom: 2.0em; }
      #about .facilities .facility__list .facility__list__item .facility__list__thumb img {
        border-radius: 1.25em; }
    #about .facilities .facility__list .facility__list__item .facility__list__name {
      position: relative;
      font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-weight: 500;
      color: #ed7700;
      line-height: 1.6;
      margin-bottom: 1.5em;
      padding-left: calc( 0.625em + 5px ); }
      #about .facilities .facility__list .facility__list__item .facility__list__name::before {
        position: absolute;
        top: 0;
        left: 0;
        content: '';
        width: 5px;
        height: 1.0em;
        background-color: #ed7700;
        border-radius: 25em; }
    #about .facilities .facility__list .facility__list__item .facility__list__adrs {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      gap: 0 1.0em;
      line-height: 1.6;
      margin-bottom: 1.0em;
      padding-left: 2.0em; }
      #about .facilities .facility__list .facility__list__item .facility__list__adrs::before {
        position: absolute;
        left: 0;
        content: '\f3c5';
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        color: #6bb72d; }
    #about .facilities .facility__list .facility__list__item .facility__list__tel {
      position: relative;
      margin-bottom: 1.5em;
      padding-left: 2.0em; }
      #about .facilities .facility__list .facility__list__item .facility__list__tel .tel {
        display: inline-block;
        color: inherit;
        text-decoration: none; }
      #about .facilities .facility__list .facility__list__item .facility__list__tel::before {
        position: absolute;
        left: 0;
        content: '\f095';
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        color: #6bb72d; }
    #about .facilities .facility__list .facility__list__item .contact_button {
      width: 100%;
      margin-top: auto;
      margin-bottom: 1.25em; }
      #about .facilities .facility__list .facility__list__item .contact_button .button__link {
        font-size: 0.875em;
        width: 100%;
        height: 44px;
        border-radius: 12px; }
    #about .facilities .facility__list .facility__list__item .button {
      width: 100%;
      margin: 0; }
      #about .facilities .facility__list .facility__list__item .button .button__link {
        font-size: 0.875em;
        color: inherit;
        width: 100%;
        height: 44px;
        background-color: #ffffff;
        border: 3px solid #ebf8e1;
        border-radius: 12px; }
        #about .facilities .facility__list .facility__list__item .button .button__link::after {
          color: #ed7700; }
        #about .facilities .facility__list .facility__list__item .button .button__link:hover {
          color: #ed7700;
          border-color: #6bb72d; }

/* 復職までのステップ
------------------------------------------------------------*/
#step .content_inner > p {
  font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.75em;
  color: #ed7700;
  line-height: 1.4;
  text-align: center; }
  #step .content_inner > p strong {
    font-weight: normal; }
#step .flow {
  margin-bottom: clamp(60px, 15dvw, 80px); }
  #step .flow .headline + p {
    text-align: right;
    margin-top: -2.5em;
    margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 ); }
  #step .flow section .page_rows .page_rows_text {
    order: 1; }
    #step .flow section .page_rows .page_rows_text ul {
      margin-bottom: 2.0em;
      padding: 0 0 0 1.25em;
      background: transparent;
      border-left: 5px solid #ed7700; }
      #step .flow section .page_rows .page_rows_text ul li {
        display: block;
        font-size: 1.25em;
        font-weight: bold;
        margin-bottom: 1.0em;
        padding: 0 0 0 38px;
        background-color: transparent;
        border-radius: 0; }
        #step .flow section .page_rows .page_rows_text ul li::before {
          position: absolute;
          top: 0;
          left: 0;
          content: '';
          display: block;
          width: 1.3em;
          height: 1.1em;
          background: url("../img/icon_check.svg") no-repeat 50% 50%/contain; }
        #step .flow section .page_rows .page_rows_text ul li::after {
          display: none; }
        #step .flow section .page_rows .page_rows_text ul li:last-child {
          margin-bottom: 0; }
    #step .flow section .page_rows .page_rows_text p:last-child {
      margin-bottom: 0; }
  #step .flow section .page_rows .page_rows_image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    position: relative; }
  @media screen and (min-width: 1000px) {
    #step .flow section .page_rows {
      flex-flow: nowrap;
      overflow: visible; }
      #step .flow section .page_rows .page_rows_text {
        flex: 1;
        margin-left: 2.5em; }
      #step .flow section .page_rows .page_rows_image {
        width: 460px;
        padding-bottom: 83px; } }
    @media screen and (min-width: 1000px) and (min-width: 1000px) {
      #step .flow section .page_rows .page_rows_image::after {
        position: absolute;
        bottom: 0;
        left: 240px;
        content: '';
        display: block;
        width: 40px;
        height: 43px;
        background: url("../img/icon_arrow_green.svg") no-repeat;
        background-size: cover; } }

  #step .flow section::after {
    content: '';
    display: block;
    width: 40px;
    height: 43px;
    margin: 1.25em auto;
    background: url("../img/icon_arrow_green.svg") no-repeat;
    background-size: cover; }
    @media screen and (min-width: 1000px) {
      #step .flow section::after {
        display: none; } }
  @media screen and (min-width: 1000px) {
    #step .flow section {
      margin-bottom: clamp(60px, 15dvw, 80px); } }
  #step .flow .end p {
    font-size: clamp(20px, calc( 20px + ( 40 - 20 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 40px);
    position: relative;
    font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: bold;
    color: #FFF;
    line-height: 1.4;
    text-align: center;
    max-width: 800px;
    margin: auto;
    padding: 2.0em 1.25em;
    background: #ed7700;
    border-radius: 12px 12px 0 0; }
    #step .flow .end p::before, #step .flow .end p::after {
      position: absolute;
      bottom: -10px;
      content: '';
      width: 0;
      height: 0;
      display: block;
      border-style: solid;
      border-color: transparent; }
    #step .flow .end p::before {
      left: 0;
      border-width: 0 20px 10px 0;
      border-right-color: #874400; }
    #step .flow .end p::after {
      right: 0;
      border-width: 10px 20px 0 0;
      border-top-color: #874400; }
  #step .flow .end::after {
    content: '';
    display: block;
    width: 40px;
    height: 43px;
    margin: 2.5em auto 0;
    background: url("../img/icon_arrow_orange.svg") no-repeat;
    background-size: cover; }
#step .followup {
  overflow: hidden; }
  @media screen and (min-width: 1000px) {
    #step .followup .page_rows {
      flex-flow: row-reverse nowrap; }
      #step .followup .page_rows .page_rows_text {
        width: 55.73%;
        max-width: 642px; }
      #step .followup .page_rows .page_rows_image {
        width: 38.19%;
        max-width: 440px; } }
  #step .followup .fup_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 -2.0em; }
    #step .followup .fup_list section {
      flex-grow: 1;
      width: 384px;
      max-width: 100%;
      margin: calc( clamp(60px, 15dvw, 80px) * 0.75 ) 2em 0; }
      #step .followup .fup_list section h4 {
        font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-size: 1.75em;
        color: #6bb72d;
        line-height: 1.4;
        text-align: center;
        margin-bottom: 1.142em;
        padding-bottom: 24px;
        background: url("../img/page/step/fuki.png") no-repeat 50% 100%; }
        @media only screen and (min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3 / 2), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
          #step .followup .fup_list section h4 {
            background-image: url("../img/page/step/fuki@2x.png");
            background-size: 157px 24px; } }
      #step .followup .fup_list section .illust {
        text-align: center;
        margin-bottom: 2.0em; }
      #step .followup .fup_list section ul {
        margin-bottom: 0;
        padding: 2.0em 1.25em;
        background: #FFF;
        border: 1px solid #EEE;
        border-radius: 6px; }
        #step .followup .fup_list section ul li {
          display: block;
          font-size: 1.0em;
          font-weight: bold;
          margin-bottom: 1.0em;
          padding: 0 0 0 1.0em;
          background-color: transparent;
          border-right: 0; }
          #step .followup .fup_list section ul li::before {
            position: absolute;
            top: 0.7em;
            left: 0;
            content: '';
            display: block;
            width: 0.5em;
            height: 0.5em;
            background: #ed7700;
            border-radius: 50%; }
          #step .followup .fup_list section ul li::after {
            display: none; }
          #step .followup .fup_list section ul li:last-child {
            margin-bottom: 0; }
    @media screen and (min-width: 1000px) {
      #step .followup .fup_list {
        flex-flow: nowrap; } }

/* プログラム内容
------------------------------------------------------------*/
#program .page_rows {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
#program > section > .page_rows .page_rows_text {
  font-size: 1.125em; }
@media screen and (min-width: 1000px) {
  #program > section > .page_rows {
    flex-flow: nowrap; }
    #program > section > .page_rows .page_rows_text {
      flex: 1; } }
#program .program_content > section {
  margin-top: 6.25em; }
  #program .program_content > section h4 {
    position: relative;
    font-size: 2.0em;
    font-weight: bold;
    color: #FFF;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 2.0em;
    padding: 0.5em 1.0em;
    border-radius: 25em; }
    #program .program_content > section h4::after {
      position: absolute;
      right: 0;
      bottom: -20px;
      left: 0;
      content: '';
      display: block;
      width: 0;
      height: 0;
      margin: auto;
      border-width: 20px 12px 0 12px;
      border-style: solid;
      border-color: transparent; }
  #program .program_content > section .checklist li {
    position: relative;
    font-size: 1.25em;
    font-weight: bold;
    margin-bottom: 1.0em;
    padding-left: 2.0em; }
    #program .program_content > section .checklist li:last-child {
      margin-bottom: 0; }
    #program .program_content > section .checklist li::before {
      position: absolute;
      top: 0.4em;
      left: 0;
      content: '';
      display: block;
      width: 1.2em;
      height: 1.0em;
      background: url("../img/icon_check.svg") no-repeat;
      background-size: contain; }
  #program .program_content > section section {
    margin-top: 3.75em; }
    #program .program_content > section section h5 {
      position: relative;
      z-index: 1;
      line-height: 1.4;
      margin-bottom: 0; }
      #program .program_content > section section h5 span {
        position: relative;
        display: inline-block;
        font-size: 1.5em;
        padding: 0.833em 2.0em 0;
        background: #FFF;
        border-width: 1px 1px 0 1px;
        border-style: solid;
        border-radius: 6px 6px 0 0; }
        #program .program_content > section section h5 span::after {
          position: absolute;
          bottom: -1px;
          left: 0;
          content: '';
          display: block;
          width: 100%;
          height: 2px;
          background: #FFF; }
    #program .program_content > section section div {
      padding: 2.5em 2.0em;
      background: #FFF;
      border: 1px solid;
      border-radius: 0 6px 6px 6px; }
      #program .program_content > section section div p {
        font-size: 1.125em; }
        #program .program_content > section section div p:last-child {
          margin-bottom: 0; }
  #program .program_content > section.manegement h4 {
    background-color: #89B9DC; }
    #program .program_content > section.manegement h4::after {
      border-top-color: #89B9DC; }
  #program .program_content > section.manegement section h5 span {
    color: #89B9DC; }
  #program .program_content > section.manegement section div {
    border-color: #89B9DC; }
  #program .program_content > section.selfcare h4 {
    background-color: #EDB096; }
    #program .program_content > section.selfcare h4::after {
      border-top-color: #EDB096; }
  #program .program_content > section.selfcare section h5 span {
    color: #EDB096; }
  #program .program_content > section.selfcare section div {
    border-color: #EDB096; }
  #program .program_content > section.socialskill h4 {
    background-color: #A6D279; }
    #program .program_content > section.socialskill h4::after {
      border-top-color: #A6D279; }
  #program .program_content > section.socialskill section h5 span {
    color: #A6D279; }
  #program .program_content > section.socialskill section div {
    border-color: #A6D279; }

/* 1日の流れ
------------------------------------------------------------*/
#schedule {
  overflow: hidden; }
  #schedule .schedule_flow > section {
    position: relative;
    font-size: 1.125em;
    margin-bottom: 120px;
    background: rgba(107, 183, 45, 0.04);
    border-left: 10px solid #6bb72d; }
    #schedule .schedule_flow > section h4 {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      line-height: 1.4;
      margin: 0;
      padding: 1.5em 2.0em 1.125em;
      border-bottom: 1px solid #6bb72d; }
      #schedule .schedule_flow > section h4 span {
        margin: 0.375em 0.625em; }
      #schedule .schedule_flow > section h4 .time {
        font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-size: 2.5em;
        font-weight: bold;
        color: #6bb72d;
        line-height: 1.0; }
        @media screen and (min-width: 768px) {
          #schedule .schedule_flow > section h4 .time {
            font-size: calc( clamp(60px, 15dvw, 80px) * 0.75 ); } }
      #schedule .schedule_flow > section h4 .name {
        font-size: 1.75em;
        font-weight: bold; }
      #schedule .schedule_flow > section h4 + div {
        padding: 2.5em 2.5em calc( clamp(60px, 15dvw, 80px) * 0.75 ); }
    #schedule .schedule_flow > section p:last-child {
      margin-bottom: 0; }
    #schedule .schedule_flow > section .rows section {
      margin-bottom: 2.5em;
      padding-bottom: 2.5em;
      border-bottom: 1px dashed #6bb72d; }
      #schedule .schedule_flow > section .rows section h5 {
        font-size: 1.25em;
        font-weight: bold;
        line-height: 1.4; }
      #schedule .schedule_flow > section .rows section ol li {
        position: relative;
        counter-increment: number;
        margin-bottom: 1.0em;
        padding-left: 2.5em; }
        #schedule .schedule_flow > section .rows section ol li::before {
          position: absolute;
          top: 0;
          left: 0;
          content: counter(number);
          font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
          font-weight: bold;
          color: #FFF;
          line-height: 1.75em;
          text-align: center;
          width: 1.75em;
          height: 1.75em;
          background: #ed7700;
          border-radius: 50%; }
        #schedule .schedule_flow > section .rows section ol li:last-child {
          margin-bottom: 0; }
      #schedule .schedule_flow > section .rows section ul {
        list-style: disc;
        margin-bottom: 1.5em;
        margin-left: 1.5em; }
        #schedule .schedule_flow > section .rows section ul li {
          margin-bottom: 1.0em; }
          #schedule .schedule_flow > section .rows section ul li:last-child {
            margin-bottom: 0; }
      #schedule .schedule_flow > section .rows section:last-of-type {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none; }
    @media screen and (min-width: 1000px) {
      #schedule .schedule_flow > section .rows {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap; }
        #schedule .schedule_flow > section .rows section {
          flex: 1;
          margin-right: 2.5em;
          margin-bottom: 0;
          padding-right: 2.5em;
          padding-bottom: 0;
          border-right: 1px dashed #6bb72d;
          border-bottom: none; }
          #schedule .schedule_flow > section .rows section:last-child {
            margin-right: 0;
            padding-right: 0;
            border-right: none; } }
    #schedule .schedule_flow > section .program {
      padding: 2.0em;
      background: #FFF;
      border: 1px solid #6bb72d;
      border-radius: 6px; }
      #schedule .schedule_flow > section .program h5 {
        font-weight: bold;
        color: #6bb72d;
        line-height: 1.4; }
      #schedule .schedule_flow > section .program p {
        margin-bottom: 1.0em; }
        #schedule .schedule_flow > section .program p:last-child {
          margin-bottom: 0; }
    #schedule .schedule_flow > section::after {
      position: absolute;
      right: 0;
      bottom: -80px;
      left: 0;
      content: '';
      display: block;
      width: 40px;
      height: 43px;
      margin: auto;
      background: url("../img/icon_arrow_green.svg") no-repeat;
      background-size: cover; }
    #schedule .schedule_flow > section:last-of-type {
      margin-bottom: 0; }
      #schedule .schedule_flow > section:last-of-type::after {
        display: none; }
  @media screen and (min-width: 1000px) {
    #schedule .schedule_flow .page_rows {
      flex-flow: nowrap; }
      #schedule .schedule_flow .page_rows .page_rows_text {
        flex: 1; } }

/* ターゲット
------------------------------------------------------------*/
#for-target > section {
  margin-bottom: 11.25em; }
  #for-target > section:last-child {
    margin-bottom: 0; }
#for-target .for-target_flow > p {
  font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.75em;
  color: #ed7700;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 2.142em; }
  #for-target .for-target_flow > p strong {
    font-weight: normal; }
#for-target .for-target_flow section .page_rows .page_rows_text h4 {
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.4; }
#for-target .for-target_flow section .page_rows .page_rows_text p {
  font-size: 1.125em; }
  #for-target .for-target_flow section .page_rows .page_rows_text p:last-child {
    margin-bottom: 0; }
#for-target .for-target_flow section::after {
  content: '';
  display: block;
  width: 40px;
  height: 43px;
  margin: 2.5em auto;
  background: url("../img/icon_arrow_green.svg") no-repeat 50% 50%;
  background-size: 40px 43px; }
#for-target .for-target_flow section:last-child::after {
  display: none; }
@media screen and (min-width: 1000px) {
  #for-target .for-target_flow section .page_rows {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-flow: nowrap; }
    #for-target .for-target_flow section .page_rows .page_rows_text {
      flex: 1; }
  #for-target .for-target_flow section::after {
    width: 420px;
    margin-right: 0;
    margin-left: 0; } }
#for-target .for-target_voice {
  position: relative;
  margin-top: clamp(60px, 15dvw, 80px);
  padding: 0 5%;
  border: 4px solid #dddddd;
  border-radius: 12px; }
  #for-target .for-target_voice .page_rows .page_rows_text {
    padding: 1.25em 0; }
    #for-target .for-target_voice .page_rows .page_rows_text h4 {
      font-size: 1.5em;
      font-weight: bold;
      line-height: 1.4; }
    #for-target .for-target_voice .page_rows .page_rows_text ul {
      margin-bottom: 1.5em; }
      #for-target .for-target_voice .page_rows .page_rows_text ul li {
        position: relative;
        margin-bottom: 1.0em;
        padding-left: 2.0em; }
        #for-target .for-target_voice .page_rows .page_rows_text ul li::before {
          position: absolute;
          top: 0;
          left: 0;
          content: '';
          display: block;
          width: 1.2em;
          height: 1.0em;
          background: url("../img/icon_check.svg") no-repeat;
          background-size: contain; }
        #for-target .for-target_voice .page_rows .page_rows_text ul li:last-child {
          margin-bottom: 0; }
    #for-target .for-target_voice .page_rows .page_rows_text p:last-child {
      margin-bottom: 0; }
  #for-target .for-target_voice .page_rows .page_rows_image {
    width: 50%;
    max-width: 400px;
    -webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
    -ms-transform: translateY(20px);
    -o-transform: translateY(20px);
    transform: translateY(20px); }
  @media screen and (min-width: 1000px) {
    #for-target .for-target_voice .page_rows {
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end;
      flex-flow: nowrap; }
      #for-target .for-target_voice .page_rows .page_rows_text {
        flex: 1;
        padding: calc( clamp(60px, 15dvw, 80px) * 0.75 ) 0; } }

/* 利用案内・料金
------------------------------------------------------------*/
#price > section {
  margin-bottom: 11.25em; }
  #price > section.price_flow .content_inner {
    position: relative; }
    #price > section.price_flow .content_inner::after {
      position: absolute;
      top: 0;
      left: 35px;
      z-index: -1;
      content: '';
      display: block;
      width: 10px;
      height: 100%;
      background: rgba(237, 119, 0, 0.4); }
      @media screen and (min-width: 768px) {
        #price > section.price_flow .content_inner::after {
          left: 85px; } }
  #price > section.price_flow section {
    position: relative;
    counter-increment: number;
    font-size: 1.125em;
    margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 );
    margin-left: 80px;
    padding-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 );
    border-bottom: 1px solid #c4c4c4; }
    #price > section.price_flow section h4 {
      font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-size: 1.75em;
      color: #6bb72d;
      line-height: 1.4; }
    #price > section.price_flow section dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      gap: 1.0em 1.25em;
      margin-bottom: 2.5em; }
      #price > section.price_flow section dl > div {
        flex-grow: 1; }
        #price > section.price_flow section dl > div dt {
          position: relative;
          font-size: 1.25em;
          color: #6bb72d;
          line-height: 1.4;
          margin-bottom: 1.0em;
          padding-top: 0.5em;
          padding-left: 1.5em; }
          #price > section.price_flow section dl > div dt::before {
            position: absolute;
            top: 0;
            left: 0;
            content: '';
            display: block;
            width: 1.0em;
            height: 1.0em;
            border-width: 5px 0 0 5px;
            border-style: solid;
            border-color: #6bb72d; }
        #price > section.price_flow section dl > div dd {
          font-size: 1.25em;
          font-weight: bold; }
          #price > section.price_flow section dl > div dd .tel {
            display: inline-block;
            font-size: 1.4em;
            font-weight: bold;
            color: inherit;
            line-height: 1.0;
            text-decoration: none;
            white-space: nowrap; }
    #price > section.price_flow section p a[href*="/free-consultation/"] {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      display: inline-flex;
      font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-size: 1.25em;
      font-weight: bold;
      color: #ed7700;
      text-decoration: none;
      text-align: center;
      padding: 0.5em;
      background: rgba(237, 119, 0, 0.1);
      border-radius: 6px; }
      #price > section.price_flow section p a[href*="/free-consultation/"]::before {
        content: '';
        display: block;
        width: 2.0em;
        height: 1.25em;
        margin: 0.5em 1.0em;
        background: url("../img/footer/icon_contact.svg") no-repeat 50% 50%;
        background-size: contain; }
      #price > section.price_flow section p a[href*="/free-consultation/"]:hover {
        background: rgba(237, 119, 0, 0.15); }
    #price > section.price_flow section p:last-child {
      margin-bottom: 0; }
    #price > section.price_flow section::before {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      position: absolute;
      top: 0;
      left: -80px;
      content: "Step." counter(number);
      font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-size: 1.125em;
      font-weight: bold;
      color: #FFF;
      line-height: 1.0;
      text-align: center;
      width: 70px;
      height: 70px;
      background: #ed7700;
      border-radius: 50%; }
    @media screen and (min-width: 768px) {
      #price > section.price_flow section {
        margin-left: 240px; }
        #price > section.price_flow section::before {
          left: -240px;
          font-size: 2.5em;
          width: 180px;
          height: 180px; } }
  #price > section.price_user .page_rows {
    margin: 0;
    padding: 0 -webkit-calc( 5% - 1.25em );
    padding: 0 calc( 5% - 1.25em );
    border: 4px solid #dddddd;
    border-radius: 12px; }
    #price > section.price_user .page_rows .page_rows_text {
      padding: 1.25em 0; }
      #price > section.price_user .page_rows .page_rows_text h4 {
        font-size: 1.5em;
        font-weight: bold;
        line-height: 1.4; }
      #price > section.price_user .page_rows .page_rows_text ul {
        margin-bottom: 1.5em; }
        #price > section.price_user .page_rows .page_rows_text ul li {
          position: relative;
          margin-bottom: 1.0em;
          padding-left: 2.0em; }
          #price > section.price_user .page_rows .page_rows_text ul li::before {
            position: absolute;
            top: 0;
            left: 0;
            content: '';
            display: block;
            width: 1.2em;
            height: 1.0em;
            background: url("../img/icon_check.svg") no-repeat;
            background-size: contain; }
          #price > section.price_user .page_rows .page_rows_text ul li:last-child {
            margin-bottom: 0; }
      #price > section.price_user .page_rows .page_rows_text p:last-child {
        margin-bottom: 0; }
    #price > section.price_user .page_rows .page_rows_image {
      width: 50%;
      max-width: 400px;
      -webkit-transform: translateY(20px);
      -moz-transform: translateY(20px);
      -ms-transform: translateY(20px);
      -o-transform: translateY(20px);
      transform: translateY(20px); }
    @media screen and (min-width: 1000px) {
      #price > section.price_user .page_rows {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        flex-flow: nowrap; }
        #price > section.price_user .page_rows .page_rows_text {
          flex: 1;
          padding: 2.5em 0; } }
  #price > section .price {
    text-align: center;
    margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 );
    padding: 3.90625% 7.8125%;
    background: #dddddd; }
    #price > section .price p {
      margin-bottom: 0; }
      #price > section .price p strong {
        font-size: 2.0em;
        color: #6bb72d; }
    #price > section .price dl {
      margin-bottom: 1.5em; }
      #price > section .price dl div {
        margin-top: 2.5em;
        padding: 6%;
        background: #FFF; }
        #price > section .price dl div dt {
          font-size: 1.25em;
          font-weight: bold;
          color: #6bb72d;
          line-height: 1.4;
          margin-bottom: 1.36em;
          padding-bottom: 12px;
          border-bottom: 1px solid; }
        #price > section .price dl div dd {
          font-size: 1.125em; }
          #price > section .price dl div dd span {
            display: block;
            font-size: 1.25em;
            font-weight: bold;
            color: #6bb72d;
            margin-top: 10px; }
      @media screen and (min-width: 768px) {
        #price > section .price dl {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-flow: row wrap;
          flex-flow: row wrap;
          -webkit-box-pack: justify;
          -ms-flex-pack: justify;
          justify-content: space-between; }
          #price > section .price dl div {
            width: 46.55%;
            max-width: 500px; } }
  #price > section .limit {
    margin: 0 5% clamp(60px, 15dvw, 80px); }
    #price > section .limit h4 {
      font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-size: 1.75em;
      color: #6bb72d;
      line-height: 1.4;
      text-align: center;
      margin-bottom: 1.4em; }
    #price > section .limit table tr th,
    #price > section .limit table tr td {
      line-height: 1.4;
      vertical-align: middle;
      text-align: center;
      padding: 10px;
      border: 1px solid #FFF; }
    #price > section .limit table tr th {
      color: #FFF;
      background: #6bb72d; }
    #price > section .limit table thead tr td {
      color: #538e23;
      background: #c8ebac; }
    #price > section .limit table tbody tr td {
      background: #e3f5d5; }
    #price > section .limit ul {
      margin-top: 1.5em; }
      #price > section .limit ul li {
        position: relative;
        font-size: 1.0em;
        margin-bottom: 1.0em;
        padding-left: 1.5em; }
        #price > section .limit ul li::before {
          position: absolute;
          left: 0;
          content: '※'; }
        #price > section .limit ul li:last-child {
          margin-bottom: 0; }
  #price > section .user {
    margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.75 ); }
    #price > section .user h4 {
      font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-size: 1.75em;
      color: #6bb72d;
      line-height: 1.4;
      text-align: center; }
    #price > section .user p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      @media screen and (min-width: 768px) {
        #price > section .user p {
          text-align: center; } }
  #price > section:last-child {
    margin-bottom: 0; }

/* 体験談
------------------------------------------------------------*/
#voice .voice_article {
  padding: clamp(20px, calc( var(--vw) * 5 ), 60px);
  border: 0.625em solid #fdf9f2;
  border-radius: 1.25em; }
  #voice .voice_article .voice_article__ttl {
    display: flex;
    align-items: center;
    gap: 0 min(3.5%, 40px);
    margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.5 ); }
    #voice .voice_article .voice_article__ttl .voice_article__avater {
      flex-shrink: 0;
      flex-basis: min(25%, 120px); }
      #voice .voice_article .voice_article__ttl .voice_article__avater img {
        border-radius: 50%; }
    #voice .voice_article .voice_article__ttl .voice_article__text {
      flex-grow: 1;
      flex-shrink: 1; }
      #voice .voice_article .voice_article__ttl .voice_article__text h1 {
        font-size: clamp(18px, calc( 18px + ( 28 - 18 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 28px);
        font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-weight: 500;
        line-height: 1.6;
        letter-spacing: 0.04em; }
        #voice .voice_article .voice_article__ttl .voice_article__text h1 br {
          display: none; }
      #voice .voice_article .voice_article__ttl .voice_article__text p {
        font-size: clamp(14px, calc( 14px + ( 20 - 14 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 20px);
        line-height: 1.6;
        margin: 1.0em 0 0; }
  #voice .voice_article .voice_article__data tr th,
  #voice .voice_article .voice_article__data tr td {
    line-height: 1.6;
    letter-spacing: 0.04em;
    vertical-align: middle;
    padding: 1.0em 1.25em; }
  #voice .voice_article .voice_article__data tr th {
    width: 25%;
    background-color: #ebf8e1;
    border: 1px solid #6bb72d; }
  #voice .voice_article .voice_article__data tr td {
    border: 1px solid #dddddd; }
  #voice .voice_article .voice_article__section {
    margin-top: calc( clamp(60px, 15dvw, 80px) * 0.5 );
    padding-top: calc( clamp(60px, 15dvw, 80px) * 0.5 );
    border-top: 2px dashed #dddddd; }
    #voice .voice_article .voice_article__section .voice_article__section__ttl {
      font-size: clamp(16px, calc( 16px + ( 20 - 16 ) * ( ( 100dvw - 375px ) / ( 1200 - 375 ) ) ), 20px);
      position: relative;
      font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-weight: 500;
      padding-left: calc( 1.0em + 5px ); }
      #voice .voice_article .voice_article__section .voice_article__section__ttl::before {
        position: absolute;
        top: 0.3em;
        left: 0;
        content: '';
        width: 5px;
        height: 1.0em;
        background-color: #ed7700;
        border-radius: 25em; }
    #voice .voice_article .voice_article__section .voice_article__comment {
      position: relative;
      margin-top: calc( clamp(60px, 15dvw, 80px) * 0.75 );
      padding: clamp(20px, calc( var(--vw) * 5 ), 40px);
      border: 1px solid #6bb72d;
      border-radius: 1.25em; }
      #voice .voice_article .voice_article__section .voice_article__comment::before, #voice .voice_article .voice_article__section .voice_article__comment::after {
        position: absolute;
        left: clamp(20px, calc( var(--vw) * 5 ), 40px);
        content: '';
        width: 1.25em;
        height: 1.25em;
        clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }
      #voice .voice_article .voice_article__section .voice_article__comment::before {
        top: -1.25em;
        background-color: #6bb72d; }
      #voice .voice_article .voice_article__section .voice_article__comment::after {
        top: calc( ( 1.25em - 2px ) * -1 );
        background-color: #ffffff; }
      #voice .voice_article .voice_article__section .voice_article__comment .voice_article__comment__ttl {
        font-size: clamp(16px, calc( 16px + ( 20 - 16 ) * ( ( 100dvw - 375px ) / ( 1200 - 375 ) ) ), 20px);
        font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-weight: 500;
        color: #6bb72d;
        margin-bottom: 1.0em; }
#voice .voice_other {
  margin-top: clamp(60px, 15dvw, 80px); }

/* リワーク（復職支援）
------------------------------------------------------------*/
#rework .about {
  margin-bottom: clamp(60px, 15dvw, 80px); }
  #rework .about .about_section {
    margin-top: calc( clamp(60px, 15dvw, 80px) * 0.5 );
    padding: min(calc( var(--vw) * 5 ), 40px);
    border: 5px solid #fdf9f2;
    border-radius: 1.25em; }
    #rework .about .about_section .about_section__ttl {
      font-size: clamp(18px, calc( 18px + ( 24 - 18 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 24px);
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 1em min(calc( var(--vw) * 5 ), 40px);
      margin-bottom: 1.66em; }
      #rework .about .about_section .about_section__ttl h4 {
        font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-weight: 500;
        color: #6bb72d;
        margin: 0; }
      #rework .about .about_section .about_section__ttl p {
        font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-size: 0.833em;
        font-weight: 500;
        color: #ed7700;
        width: fit-content;
        margin: 0;
        padding-bottom: 0.5em;
        border-bottom: 1px solid; }
#rework .contact {
  margin: clamp(60px, 15dvw, 80px) calc( 50% - ( var(--vw) * 50 ) ); }
#rework .feature {
  margin-bottom: clamp(60px, 15dvw, 80px); }
  #rework .feature .feature__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: calc( clamp(60px, 15dvw, 80px) * 0.5 ) min(3.125%, 40px); }
    #rework .feature .feature__list .feature__list__item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-grow: 1;
      flex-basis: 426px;
      border: 5px solid #fdf9f2;
      border-radius: 1.25em; }
      #rework .feature .feature__list .feature__list__item .feature__list__content {
        flex-grow: 1;
        flex-shrink: 1;
        padding: min(calc( var(--vw) * 5 ), 40px) min(calc( var(--vw) * 2.5 ), 20px) min(calc( var(--vw) * 5 ), 40px) min(calc( var(--vw) * 5 ), 40px); }
        #rework .feature .feature__list .feature__list__item .feature__list__content .feature__list__name {
          font-size: clamp(16px, calc( 16px + ( 24 - 16 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 24px);
          font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
          font-weight: 500;
          color: #6bb72d;
          line-height: 1.6;
          margin-bottom: 1.0em; }
          #rework .feature .feature__list .feature__list__item .feature__list__content .feature__list__name:last-child {
            margin-bottom: 0; }
        #rework .feature .feature__list .feature__list__item .feature__list__content .feature__list__list {
          font-size: clamp(12px, calc( 12px + ( 16 - 12 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 16px); }
          #rework .feature .feature__list .feature__list__item .feature__list__content .feature__list__list li {
            position: relative;
            line-height: 1.6;
            letter-spacing: 0.04em;
            padding-left: calc( 6px + 0.75em ); }
            #rework .feature .feature__list .feature__list__item .feature__list__content .feature__list__list li::before {
              position: absolute;
              top: calc( ( 1.6em - 6px ) * 0.5 );
              left: 0;
              content: '';
              width: 6px;
              height: 6px;
              background-color: #6bb72d;
              border-radius: 50%; }
      #rework .feature .feature__list .feature__list__item .feature__list__img {
        flex-shrink: 0;
        width: min(calc( var(--vw) * 25 ), 320px); }
  #rework .feature .page_list {
    margin-top: calc( clamp(60px, 15dvw, 80px) * 0.75 ); }
#rework .achievement {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(60px, 15dvw, 80px);
  padding: clamp(60px, 15dvw, 80px) 0; }
  #rework .achievement::after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;
    content: '';
    height: 100%;
    margin: 0 calc( 50% - ( var(--vw) * 50 ) );
    background-color: #f6fcf1; }
  #rework .achievement .achievement__section {
    margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.5 );
    background-color: #ffffff;
    border-radius: 1.25em; }
    @media screen and (min-width: 1000px) {
      #rework .achievement .achievement__section {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-radius: 25em; } }
    #rework .achievement .achievement__section .achievement__ttl {
      display: flex;
      justify-content: center;
      align-items: flex-end;
      flex-wrap: wrap;
      gap: 0.625em;
      color: #ffffff;
      line-height: 1.0;
      text-align: center;
      margin: 0;
      padding: 1.25em;
      background-color: #ed7700;
      border-radius: 1.25em 1.25em 0 0; }
      @media screen and (min-width: 1000px) {
        #rework .achievement .achievement__section .achievement__ttl {
          flex-shrink: 0;
          flex-basis: min(33.33%, 240px);
          flex-wrap: nowrap;
          flex-direction: column;
          align-items: center;
          height: 100%;
          border-radius: 50%;
          aspect-ratio: 1 / 1; } }
      #rework .achievement .achievement__section .achievement__ttl span {
        font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-weight: 500; }
        #rework .achievement .achievement__section .achievement__ttl span.title {
          font-size: clamp(24px, calc( 24px + ( 32 - 24 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 32px); }
        #rework .achievement .achievement__section .achievement__ttl span.label {
          font-size: clamp(16px, calc( 16px + ( 24 - 16 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 24px); }
        #rework .achievement .achievement__section .achievement__ttl span.num {
          font-size: clamp(32px, calc( 32px + ( 40 - 32 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 40px); }
        #rework .achievement .achievement__section .achievement__ttl span.date {
          font-size: clamp(12px, calc( 12px + ( 16 - 12 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 16px); }
    #rework .achievement .achievement__section .achievement__content {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap; }
      #rework .achievement .achievement__section .achievement__content .achievement__text {
        padding: min(calc( var(--vw) * 5 ), 40px); }
        @media screen and (min-width: 1000px) {
          #rework .achievement .achievement__section .achievement__content .achievement__text {
            flex-grow: 1;
            flex-shrink: 1;
            padding-right: 0; } }
      #rework .achievement .achievement__section .achievement__content .achievement__img {
        width: min(100%, 333px);
        margin: 0 auto; }
        @media screen and (min-width: 1000px) {
          #rework .achievement .achievement__section .achievement__content .achievement__img {
            flex-shrink: 0;
            width: min(calc( var(--vw) * 25 ), 333px);
            margin: 0; } }
      @media screen and (min-width: 1000px) {
        #rework .achievement .achievement__section .achievement__content {
          flex-grow: 1;
          flex-shrink: 1;
          flex-wrap: nowrap; } }
    #rework .achievement .achievement__section:last-child {
      margin-bottom: 0; }
#rework .message .message__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: calc( clamp(60px, 15dvw, 80px) * 0.5 ) min(3.125%, 40px); }
  #rework .message .message__list .message__list__item {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    flex-grow: 1;
    flex-basis: 426px;
    gap: 0 1.25em; }
    #rework .message .message__list .message__list__item .message__list__avater {
      font-size: clamp(20px, calc( 20px + ( 40 - 20 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 40px);
      color: #bbe697;
      margin-top: auto; }
    #rework .message .message__list .message__list__item .message__list__comment {
      position: relative;
      padding: min(calc( var(--vw) * 3.5 ), 30px) min(calc( var(--vw) * 5 ), 40px);
      border: 3px solid #fdf9f2;
      border-radius: 1.25em; }
      #rework .message .message__list .message__list__item .message__list__comment::before, #rework .message .message__list .message__list__item .message__list__comment::after {
        position: absolute;
        content: '';
        clip-path: polygon(100% 0, 0% 100%, 100% 100%); }
      #rework .message .message__list .message__list__item .message__list__comment::before {
        bottom: 20px;
        left: -20px;
        width: 20px;
        height: 20px;
        background-color: #fdf9f2; }
      #rework .message .message__list .message__list__item .message__list__comment::after {
        bottom: 24px;
        left: -10px;
        width: 16px;
        height: 16px;
        background-color: #ffffff; }

/* 定着支援とは
------------------------------------------------------------*/
#plus .contact {
  margin: 0 calc( 50% - ( var(--vw) * 50 ) ); }
#plus .guideline .guideline__section {
  padding-top: 2.5em;
  margin-bottom: calc( clamp(60px, 15dvw, 80px) * 0.5 ); }
#plus .guideline .guideline__section__box {
  position: relative;
  padding: 3.75em min(calc( var(--vw) * 5 ), 40px) 2.5em;
  background-color: #f6fcf1;
  border-radius: 1.25em; }
  #plus .guideline .guideline__section__box .guideline__section__ttl {
    font-size: clamp(18px, calc( 18px + ( 24 - 18 ) * ( ( 100dvw - 375px ) / ( 1920 - 375 ) ) ), 24px); }
    #plus .guideline .guideline__section__box .guideline__section__ttl i {
      position: absolute;
      top: -1.66em;
      left: min(calc( var(--vw) * 5 ), 40px);
      display: flex;
      justify-content: center;
      align-items: center;
      color: #ffffff;
      width: 3.33em;
      height: 3.33em;
      background-color: #6bb72d;
      border-radius: 50%; }
    #plus .guideline .guideline__section__box .guideline__section__ttl span {
      font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
      font-weight: 500;
      color: #6bb72d; }
  #plus .guideline .guideline__section__box p em {
    font-weight: 500;
    font-style: normal; }

/* プログラム内容
------------------------------------------------------------*/
#program .program_schedule {
  margin-top: 6.25em; }
  #program .program_schedule .program_schedule__table {
    margin-bottom: 2.0em;
    overflow-x: auto; }
    @media screen and (min-width: 768px) {
      #program .program_schedule .program_schedule__table {
        overflow-x: visible; } }
    #program .program_schedule .program_schedule__table table {
      table-layout: fixed;
      border-collapse: separate;
      border-spacing: 1px;
      width: 980px; }
      @media screen and (min-width: 768px) {
        #program .program_schedule .program_schedule__table table {
          width: 100%; } }
      #program .program_schedule .program_schedule__table table tr th,
      #program .program_schedule .program_schedule__table table tr td {
        text-align: center;
        vertical-align: middle;
        line-height: 1.6;
        letter-spacing: 0.04em;
        padding: 1.0em; }
      #program .program_schedule .program_schedule__table table thead tr th {
        font-family: "YakuHanJP", "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
        font-weight: 500;
        padding-top: 0;
        border-bottom: 3px solid #6bb72d; }
      #program .program_schedule .program_schedule__table table tbody tr th,
      #program .program_schedule .program_schedule__table table tbody tr td {
        border-bottom: 1px solid #dddddd; }
      #program .program_schedule .program_schedule__table table tbody tr th {
        font-weight: 500; }
      #program .program_schedule .program_schedule__table table tbody tr.break th,
      #program .program_schedule .program_schedule__table table tbody tr.break td {
        background-color: #f6fcf1; }
